对于我的数据集列,我有时间,状态,治疗,性别,BMI。我正在尝试将单变量coxph函数与协变量Treatment,Gender和BMI一起应用。
这是我的代码:
univ_models <- lapply( univ_formulas, function(x){coxph(x, data = RemissionTimes)})
univ_results <- lapply(univ_models,
function(x){
x <- summary(x)
p.value<-signif(x$wald["pvalue"], digits=2)
wald.test<-signif(x$wald["test"], digits=2)
beta<-signif(x$coef[1], digits=2);#coeficient beta
HR <-signif(x$coef[2], digits=2);#exp(beta)
HR.confint.lower <- signif(x$conf.int[,"lower .95"], 2)
HR.confint.upper <- signif(x$conf.int[,"upper .95"],2)
HR <- paste0(HR, " (",
HR.confint.lower, "-", HR.confint.upper, ")")
res<-c(beta, HR, wald.test, p.value)
names(res)<-c("beta", "HR (95% CI for HR)", "wald.test",
"p.value")
return(res)
#return(exp(cbind(coef(x),confint(x))))
})
res <- t(as.data.frame(univ_results, check.names = FALSE))
as.data.frame(res)
但是,我在运行它时得到了它:
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 5, 4
> as.data.frame(res)
Error in as.data.frame(res) : object 'res' not found
我不确定该如何解决。我看不到行的不同之处,也无法理解R为什么没有找到res。
答案 0 :(得分:0)
对象res是否出现在前面的代码中?您还可以检查它们是否在表中为空白。我不知道这是否对您有帮助。