我正在使用 metafor 进行大量元分析。为了大致了解结果,我想将包含主要估计值的向量放在一起(稍后将它们组合到数据框中)。然而,对于其中一些计算,我还没有足够的初步研究,因此 R 将无法为这个特定领域创建模型。因此,当我尝试在最后创建一个向量时,我会收到一条错误消息。
library(metafor)
r1<-c(NA,NA)
n1<-c(NA,NA)
data1<-data.frame(r1,n1)
escalc1<-escalc(measure="COR", ri=r1,ni=n1, data = data1, method=REML)
rma1<-rma(yi,vi, data=escalc1)
#note the program will not be able to calculate rma1, because k = 0.
r2<-c(.3,.2)
n2<-c(100,200)
data2<-data.frame(r2,n2)
escalc2<-escalc(measure="COR", ri=r2,ni=n2, data = data2, method=REML)
rma2<-rma(yi,vi, data=escalc2)
#it will create an object for rma2 though
estimates<-c(rma1$beta, rma2$beta)
#as rma2 exists but rma1 doesn't, R will no let me create a vector here
有没有办法告诉 R 先检查对象是否存在,并在所有尚未创建对象的情况下放入 NA?具体来说,我希望 R 在最后一行代码中用 NA 替换 rma1$beta (不存在)。那可能吗?