Как исправить ошибку data.frame: аргументы подразумевают различное количество строк: 0, 1? - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь выполнить тест Эггера с помощью следующей функции:

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, перехват.pval) </p>

R выдает следующую ошибку: Ошибка в data.frame (перехват, ci.intercept, intercept.pval):

аргументы подразумевают различное количество строк: 0, 1

Я был бы очень признателен, если бы кто-то мог помочь мне с этим.

1 Ответ

0 голосов
/ 13 мая 2019

Как говорится в сообщении об ошибке, вы используете аргументы с разным количеством строк. Если вы хотите использовать data.frame(), вам нужно использовать аргументы с одинаковым количеством строк. Проверьте количество строк intercept, ci.intercept и intercept.pval, и оно должно показать вам, где разница.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...