0

我正在尝试使用以下功能执行 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(拦截,ci.intercept,intercept.pval)

R 给出以下错误: data.frame(intercept, ci.intercept, intercept.pval) 中的错误:

参数暗示不同的行数:0, 1

如果有人可以帮助我,我将不胜感激。

4

1 回答 1

0

正如错误消息所说,您正在使用具有不同行数的参数。如果要使用data.frame(),则需要使用具有相等行数的参数。检查 的行数intercept,它应该会告诉您差异在哪里。ci.interceptintercept.pval

于 2019-05-13T17:19:30.707 回答