Итак, я пытаюсь провести метаанализ с корреляциями.Я могу запустить код нормально.Но мне было интересно, можно ли тогда получить доверительный интервал вокруг значения R2.
boot.func <- function(data.boot) {
res <- try(rma(yi, vi, data=data.boot), silent=TRUE)
if (is.element("try-error", class(res))) {
NA
} else {
c(coef(res), vcov(res), res$tau2, res$se.tau2^2)
}
}
data.gen <- function(dat, mle) {
data.frame(yi=rnorm(nrow(dat), mle$mu, sqrt(mle$tau2 + dat$vi)), vi=dat$vi)
}
set.seed(8781328)
res.boot <- boot(dat, boot.func, R=100, sim="parametric", ran.gen=data.gen,
mle=list(mu=coef(res), tau2=res$R2))
res.boot
boot.ci(res.boot, type=c("norm", "basic", "stud", "perc"), index=3:4)
Я пробовал этот код, но, похоже, он дает очень разные значения.Кроме того, кажется, что он может дать изученные значения, что, насколько я знаю, не должно быть возможным, поскольку нет никакой оценки отклонения для R2
res = rma.uni(dat$yi, dat$vi, mods = ~ dat$Age)