【发布时间】:2020-04-01 02:07:31
【问题描述】:
我想使用 metafor::rma() 作为 ggplot 的平滑器。我已经尝试了各种方法来让它继续运行,但似乎都没有奏效。这是一个最小(非)工作示例:
# Libraries
library(metafor)
library(ggplot2)
# Some data preparation
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg)
# Scatterplot of the data
figure1 <- ggplot(dat, aes(y = yi, x = ablat)) + geom_point()
figure1
# Various attempts that lead to various error messages :(
figure2a <- ggplot(dat, aes(y = yi, x = ablat)) +
geom_point() + geom_smooth(method = metafor::rma())
figure2b <- ggplot(dat, aes(y = yi, x = ablat)) +
geom_point() + geom_smooth(method = metafor::rma(y = yi, vi = vi))
figure2c <- ggplot(dat, aes(y = yi, x = ablat)) +
geom_point() + geom_smooth(method = metafor::rma(y = dat$yi, vi = dat$vi))
figure2d <- ggplot(dat, aes(y = yi, x = ablat)) +
geom_point() + geom_smooth(method = metafor::rma(yi = yi, vi = vi, data = dat), formula = yi ~ ablat)
figure2e <- ggplot(dat, aes(y = yi, x = ablat)) +
geom_point() + geom_smooth(method = metafor::rma(), method.args = list(yi = dat$yi, vi = dat$vi, method = "EB"))
我做错了什么?谢谢
【问题讨论】:
-
geom_smooth 可能不适用于 metafor::rma 对象?相关:stackoverflow.com/questions/49191606/… 我想最直接的方法是手动添加回归线 +/- 误差区间,例如使用 predict(your_model) 的输出
-
也相关。stackoverflow.com/questions/7005483/… 我猜,虽然
geom_smooth文档使用了“例如”这个词,但它实际上的意思是“...之一”