我正在尝试使用以下功能执行egger测试:
eggers.test<-function(data){data<-data
eggers<-metabias(data)
intercept<-as.numeric(eggers$estimate[1])
intercept<-round(intercept,digits=3)
se.intercept<-eggers$estimate[2]
lower.intercept<-as.numeric(intercept-1.96*se.intercept)
lower.intercept<-round(lower.intercept,digits = 2)
higher.intercept<-as.numeric(intercept+1.96*se.intercept)
higher.intercept<-round(higher.intercept,digits = 2)
ci.intercept<-paste(lower.intercept,"-",higher.intercept)
ci.intercept<-gsub(" ", "", ci.intercept, fixed = TRUE)
intercept.pval<-as.numeric(eggers$p.value)
intercept.pval<-round(intercept.pval,digits=5)
eggers.output<-data.frame(intercept,ci.intercept, intercept.pval)
names(eggers.output)<-c("intercept","95%CI","p-value")
title<-"Results of Egger's test of the intercept"
print(title)
print(eggers.output)
}
仅当我在执行此步骤时:
eggers.output <-data.frame(intercept,ci.intercept,intercept.pval)
R给出以下错误: data.frame(intercept,ci.intercept,intercept.pval)中的错误:
参数暗示行数不同:0,1
如果有人可以帮助我,我将非常感激。
答案 0 :(得分:0)
如错误消息所述,您使用的参数具有不同的行数。如果要使用data.frame()
,则需要使用行数相等的参数。检查intercept
,ci.intercept
和intercept.pval
的行数,它应该显示出差异在哪里。