Description Usage Arguments Details Value Note Author(s) References See Also Examples
These functions simulate sets of multivariate or univariate responses for a group of studies, in terms of their mean (expected) values and within and between-study (co)variances. These sets of outcomes can be used in meta-analytical models for simulation purposes.
1 2 3 4 |
In order to simulate k outcomes for m studies:
y |
a m-dimensional vector (for simulating univariate responses) or m x k matrix (for simulating multivariate responses) of mean (expected) outcomes. |
S |
series of within-study (co)variance matrices of the outcomes for each one of the m studies. Accepted formats are a m-dimensional list of k x k matrices; a tri-dimensional k x k x m array; or a m x k(k+1)/2 matrix or data frame where each row represents the vectorized entries of the lower triangle of the related (co)variance matrix, taken by column (see |
Psi |
the between-study (co)variance matrices of the outcomes. Accepted formats are a k x k matrix or a k(k+1)/2-dimensional vector, representing the vectorized entries of the lower triangle of the related (co)variance matrix, taken by column (see |
sd |
a k-dimensional vector of between-study standard deviations. |
cor |
between-study correlations. Either a scalar, a vector or a matrix. See |
nsim |
number of simulation sets. |
seed |
an object specifying if and how the random number generator should be initialized. |
posdeftol |
tolerance (relative to largest variance) for numerical lack of positive-definiteness. Default to the square root of the machine precision. |
object |
an object of class |
... |
further arguments passed to or from other methods. |
The set(s) of responses can be simulated either from a fitted model, using the method function simulate
for objects of class "mvmeta"
, or directly through the function mvmetaSim
. In the former case, the fitted values from the model are used as mean (expected) outcomes, together with the within and estimated between-study (co)variance. In the latter option, this information need to be provided by the user in the correct dimensions and forms.
In mvmetaSim
, the between-study (co)variance matrix can be inputted directly through Psi
, or given in the form DRD, with a diagonal matrix D of standard deviations and correlation matrix R. These values are provided through sd
and cor
. See inputcov
for details.
The functions simulate the responses for each study separately from a marginal multivariate normal distribution with mean equal to the expected values and (co)variance equal to the sum of the within and between-study components. The computation is identical to that implemented in the function mvrnorm
of the package MASS, involving a eigen decomposition of the marginal (co)variance matrix. Numerical negative definiteness is allowed with a tolerance specified by posdeftol
, and positive semi-definiteness is then forced by truncating the eigenvalues at zero.
If nsim=1
, a matrix or vector of simulated k outcomes for the m studies. If more simulation sets are required (nsim
higher than 1), a list of matrices or vectors.
Studies with missing values in the fitted values or in the components of the within (co)variances are excluded by simulate
. Missing values are instead not accepted in metaSim
.
Antonio Gasparrini, antonio.gasparrini@lshtm.ac.uk
Sera F, Armstrong B, Blangiardo M, Gasparrini A (2019). An extended mixed-effects framework for meta-analysis.Statistics in Medicine. 2019;38(29):5429-5444. [Freely available here].
See simulate
for the general method function. See inputcov
for inputting correlations. See mvmeta-package
for an overview of the package and modelling framework.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # RUN A MODEL
model <- mvmeta(cbind(PD,AL)~pubyear,S=berkey98[5:7],data=berkey98)
# SIMULATE A NEW SET OF OUTCOMES
simulate(model)
# SIMULATE FROM SCRATCH: 3 OUTCOMES, 8 STUDIES
(y <- matrix(0,8,3))
(S <- inputcov(matrix(runif(8*3,0.1,2),8,3,dimnames=list(NULL,
c("V1","V2","V3"))),cor=c(0,0.5,0.7)))
(Psi <- inputcov(1:3,cor=0.3))
mvmetaSim(y,S,Psi)
# ALTERNATIVELY, DEFINE Psi THROUGH STANDARD DEVIATIONS AND CORRELATION 0.2
mvmetaSim(y,S,sd=1:3,cor=0.3)
# 2 SIMULATION SETS
mvmetaSim(y,S,Psi,nsim=2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.