# \donttest{
#####################################################################################
# Example: Craft2003 data
# Preparing input arguments for meta.mi() and fixed-effect model
#####################################################################################
# prepare a dataset with missing values and input arguments for meta.mi
Craft2003.mnar <- Craft2003[, c(2, 4:10)]
Craft2003.mnar[sample(which(Craft2003$C4 < 0), 6), "C4"] <- NA
dat <- Craft2003.mnar
n.name <- "N"
ef.name <- c("C1", "C2", "C3", "C4", "C5", "C6")
# fixed-effect model
obj <- metami(dat, M = 2, vcov = "r.vcov",
n.name, ef.name,
func = "metafixed")
########################
# Plotting the result
########################
computvcov <- r.vcov(n = Craft2003$N,
corflat = subset(Craft2003.mnar, select = C1:C6),
method = "average")
plotCI(y = computvcov$ef, v = computvcov$list.vcov,
name.y = NULL, name.study = Craft2003$ID,
y.all = obj$coefficients[,1],
y.all.se = obj$coefficients[,2])
########################
# Pooling from subsets
########################
# o1 <- metami(dat, M = 10, vcov = "r.vcov",
# n.name, ef.name,
# func = "metafixed",
# pool.seq = c(5, 10))
# pooled results from M = 5 imputed data sets
# o1$result.seq$M5$coefficients
# pooled results from M = 10 imputed data sets
# o1$result.seq$M10$coefficients
#########################################################################################
# Running random-effects and meta-regression model using packages "mixmeta" or "metaSEM"
#########################################################################################
# Restricted maximum likelihood (REML) estimator from the mixmeta package
# library(mixmeta)
# o2 <- metami(dat, M = 10, vcov = "r.vcov",
# n.name, ef.name,
# formula = as.formula(cbind(C1, C2, C3, C4, C5, C6) ~ 1),
# func = "mixmeta",
# method = "reml")
# maximum likelihood estimators from the metaSEM package
# library(metaSEM)
# o3 <- metami(dat, M = 10, vcov = "r.vcov",
# n.name, ef.name,
# func = "meta")
# meta-regression
# library(metaSEM)
# o4 <- metami(dat, M = 10, vcov = "r.vcov",
# n.name, ef.name, x.name = "p_male",
# func = "meta")
# library(mixmeta)
# o5 <- metami(dat, M = 20, vcov = "r.vcov",
# n.name, ef.name, x.name = "p_male",
# formula = as.formula(cbind(C1, C2, C3, C4, C5, C6) ~ p_male ),
# func = "mixmeta",
# method = "reml")
#####################################################################################
# Example: Geeganage2010 data
# Preparing input arguments for meta.mi() and fixed-effect model
#####################################################################################
# Geeganage2010.mnar <- Geeganage2010
# Geeganage2010.mnar$MD_SBP[sample(1:nrow(Geeganage2010),7)] <- NA
# r12 <- 0.71
# r13 <- 0.5
# r14 <- 0.25
# r23 <- 0.6
# r24 <- 0.16
# r34 <- 0.16
# r <- vecTosm(c(r12, r13, r14, r23, r24, r34))
# diag(r) <- 1
# mix.r <- lapply(1:nrow(Geeganage2010), function(i){r})
# o <- metami(data = Geeganage2010.mnar, M = 10, vcov = "mix.vcov",
# ef.name = c("MD_SBP", "MD_DBP", "RD_DD", "lgOR_D"),
# type = c("MD", "MD", "RD", "lgOR"),
# d = c("MD_SBP", "MD_DBP", NA, NA),
# sdt = c("sdt_SBP", "sdt_DBP", NA, NA),
# sdc = c("sdc_SBP", "sdc_DBP", NA, NA),
# nt = c("nt_SBP", "nt_DBP", "nt_DD", "nt_D"),
# nc = c("nc_SBP", "nc_DBP", "nc_DD", "nc_D"),
# st = c(NA, NA, "st_DD", "st_D"),
# sc = c(NA, NA, "sc_DD", "sc_D"),
# r = mix.r,
# func = "metafixed")
# }Run the code above in your browser using DataLab