Nothing
#' Back-transform a z-score siber ellipse to original location and scale.
#'
#' Back-transforms a bivariate siber ellipse fitted to z-scored data to the
#' original location and scale. Not intended for direct call by users.
#'
#' @param jags.output a mcmc.list object of posterior samples created by
#' [rjags::rjags()]. In siber this is created typically by [fitEllipse()]
#'
#' @param siber a siber object as created by createSiberObject.
#'
#' @param idx.community an integer specifying which community to back-transform.
#'
#' @param idx.group an integer specifying which group to back-transform.
#'
#'
#' @return A 6 x n matrix representing the back-transformed posterior
#' distributions of the bivariate normal distribution for a specified group
#' within a specified community, where n is the number of
#' posterior draws in the saved sample. The first four columns are the
#' covariance matrix Sigma in vector format. This vector converts to the
#' covariance matrix as `matrix(v[1:4], nrow = 2, ncol = 2)`. The
#'remaining two columns are the back-transformed means.
#'
ellipseBackTransform <- function (jags.output, siber, idx.community, idx.group) {
# function to back transform Bayesian estimated covariance matrices.
# This function also collates the posterior draws into a single matrix
# for each group, nested within a community.
all.draws <- as.matrix(jags.output)
# first the two diagonal variances
all.draws[,1] <- all.draws[,1] * siber$ML.cov[[idx.community]][1,1,idx.group]
all.draws[,4] <- all.draws[,4] * siber$ML.cov[[idx.community]][2,2,idx.group]
# then the covariances
all.draws[,2] <- (all.draws[,2] *
siber$ML.cov[[idx.community]][1,1,idx.group] ^ 0.5 *
siber$ML.cov[[idx.community]][2,2,idx.group] ^ 0.5)
all.draws[,3] <- all.draws[,2]
# now correct the ellipse locations (i.e. their means)
all.draws[,5] <- all.draws[,5] + siber$ML.mu[[idx.community]][1,1,idx.group]
all.draws[,6] <- all.draws[,6] + siber$ML.mu[[idx.community]][1,2,idx.group]
return(all.draws)
} # end of function
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.