使用metafor和ggplot2时,如何在散点图上绘制拟合的元回归线

使用metafor和ggplot2时,如何在散点图上绘制拟合的元回归线,r,plot,ggplot2,data-visualization,metafor,R,Plot,Ggplot2,Data Visualization,Metafor,我想使用ggplot(或类似软件包)使用metafor绘制元回归 我找到了这个网站(),它解释了如何使用ggplot2和metafor在散点图上绘制报告值和拟合模型的回归线 然而,作者放在网站上的代码本身并没有正常运行。似乎我必须以某种方式计算预测,但由于我是一个新手R用户,我不确定如何才能做到这一点。我不能像对待lm()的结果那样对待rma()的结果 我想在散点图上绘制每个分配方法的观察值和拟合回归线 这就是我得到的错误: 错误:长度必须为1或与数据相同 (13) :y,尺寸 在包metafo

我想使用ggplot(或类似软件包)使用
metafor
绘制元回归

我找到了这个网站(),它解释了如何使用
ggplot2
metafor
在散点图上绘制报告值和拟合模型的回归线

然而,作者放在网站上的代码本身并没有正常运行。似乎我必须以某种方式计算预测,但由于我是一个新手R用户,我不确定如何才能做到这一点。我不能像对待
lm()
的结果那样对待
rma()
的结果

我想在散点图上绘制每个分配方法的观察值和拟合回归线

这就是我得到的错误:

错误:长度必须为1或与数据相同 (13) :y,尺寸


在包
metafor
rma.uni
文档中,它说:

“预测值/拟合值可通过predict.rma和fitted.rma获得。有关最佳线性无偏预测,请参阅blup.rma.uni。”

我假设通过这些函数,您可以创建一个向量
preds
,并绘制拟合线

编辑作为对编辑的响应:

ggplot(dat, aes(x = ablat, y = yi, size = 1/vi, col = alloc))+
  geom_point(data = dat, shape = 16) + 
  geom_line(data = dat,aes(x = ablat,y = preds$pred, size = 1))

这就是您要找的吗?

在包
metafor
rma.uni
文档中,它说:

“预测值/拟合值可通过predict.rma和fitted.rma获得。有关最佳线性无偏预测,请参阅blup.rma.uni。”

我假设通过这些函数,您可以创建一个向量
preds
,并绘制拟合线

编辑作为对编辑的响应:

ggplot(dat, aes(x = ablat, y = yi, size = 1/vi, col = alloc))+
  geom_point(data = dat, shape = 16) + 
  geom_line(data = dat,aes(x = ablat,y = preds$pred, size = 1))

这就是你想要的吗?

谢谢你的评论,@Dan。我也这么想,但是我用
predict.rma()
fitted.rma()
进行的试验并不顺利。我可能指定的参数是错误的。我在这里发布了类似的问题,但用于ANOVA类型的研究()。如果您能演示如何绘制数据并教我R代码,我将不胜感激。非常感谢。你能具体说明“进展不顺利”是什么意思吗?如果您共享用于该操作的代码行,我可能可以看到错误在哪里。我在上面的问题中添加了数据集和代码。谢谢你花时间在这个问题上。我编辑了我的答案,这样你在编辑中提供的代码就不会再产生任何错误了。“如果你需要解释,请告诉我谢谢你的评论,”丹说。我也这么想,但是我用
predict.rma()
fitted.rma()
进行的试验并不顺利。我可能指定的参数是错误的。我在这里发布了类似的问题,但用于ANOVA类型的研究()。如果您能演示如何绘制数据并教我R代码,我将不胜感激。非常感谢。你能具体说明“进展不顺利”是什么意思吗?如果您共享用于该操作的代码行,我可能可以看到错误在哪里。我在上面的问题中添加了数据集和代码。谢谢你花时间在这个问题上。我编辑了我的答案,这样你在编辑中提供的代码就不会再产生任何错误了。如果你需要解释,请告诉我
ggplot(dat, aes(x = ablat, y = yi, size = 1/vi, col = alloc))+
  geom_point(data = dat, shape = 16) + 
  geom_line(data = dat,aes(x = ablat,y = preds$pred, size = 1))