首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中元包和元包结果的差异

R中元包和元包结果的差异
EN

Stack Overflow用户
提问于 2017-01-31 16:07:59
回答 1查看 835关注 0票数 1

我正在使用R进行元分析,我决定确认两个广泛使用的R包(元和元)产生相同的结果(我已经粘贴了下面的代码)。不幸的是,它们并不完全相同,我正试图找出原因,因为使用一个包表明有一个显著的总体效果,而另一个则没有。有人对这些包有任何经验来了解原因吗?

这里的警告是,我在一个非常关心p值的领域工作(只是为了预测一些可能针对“它们足够近”或“无论如何忽略p值”的响应)。

谢谢大家

代码语言:javascript
复制
#Load Libraries
library(meta)
library(metafor)

#Insert effect sizes and sample sizes
es.r<- c(-.14,-.01,-.10,.14,.28,.17,.75,.53)
n <- c(55,46,53,52,105,101,46,48)

# transform to fisher's z
es.r.z <- r2z(es.r)

#Calculate Variance ES
es.r.z.v <-(1/(n-3))

#Calculate Standard Errors ES
r.z.se <-sqrt(es.r.z.v)

#Fixed-effect and Random-effects meta-analysis
#Once with meta package, once with metafor package

meta1<-metagen(es.r.z, r.z.se)
meta2<-rma(es.r.z, r.z.se)

#Show results from both packages
meta1
meta2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-01 07:05:00

您的rma()语法不正确。rma()函数的第二个参数用于指定抽样方差,而不是标准误差。此外,metagen()默认使用DL估计器,而rma()使用REML估计器。因此,您应该使用:

代码语言:javascript
复制
meta2<-rma(es.r.z, r.z.se^2, method="DL")

也可以将sei参数用于:

代码语言:javascript
复制
meta2<-rma(es.r.z, sei=r.z.se, method="DL")

结果是一致的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41962137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档