From a30e1e894fb02a5aa35793394e1367c3321f8c66 Mon Sep 17 00:00:00 2001 From: Ronald Garcia Date: Fri, 9 Dec 2022 11:15:11 +1300 Subject: [PATCH] Adjust extract.samples to produce an appropriate data frame for n=1 --- R/map-quap-class.r | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/R/map-quap-class.r b/R/map-quap-class.r index f05525a..3487d8b 100644 --- a/R/map-quap-class.r +++ b/R/map-quap-class.r @@ -95,7 +95,11 @@ function( object , n=10000 , clean=TRUE , ... ) { } else { mu <- xcoef(object) } - result <- as.data.frame( mvrnorm( n=n , mu=mu , Sigma=vcov(object) ) ) + if ( n==1 ) { + result <- as.data.frame( t( mvrnorm( n=n , mu=mu , Sigma=vcov(object) ) ) ) + } else { + result <- as.data.frame( mvrnorm( n=n , mu=mu , Sigma=vcov(object) ) ) + } if ( clean==TRUE ) { # convert (Intercept) to Intercept for ( i in 1:ncol(result) ) { @@ -112,7 +116,11 @@ setMethod("extract.samples", "map", function(object,n=1e4,...){ # require(MASS) # import now, so no need to require? mu <- object@coef - result <- as.data.frame( mvrnorm( n=n , mu=mu , Sigma=vcov(object) ) ) + if ( n==1 ) { + result <- as.data.frame( t( mvrnorm( n=n , mu=mu , Sigma=vcov(object) ) ) ) + } else { + result <- as.data.frame( mvrnorm( n=n , mu=mu , Sigma=vcov(object) ) ) + } # convert vector parameters to vectors in list veclist <- attr(object,"veclist") name_head <- function(aname) strsplit( aname , "[" , fixed=TRUE )[[1]][1]