Cox模型不支持"Mright"生存数据。

4

早上好,

我一直在尝试进行分层 logistic 回归,这是一个 Case/Control 研究中配对后匹配的步骤,但我遇到了一个意外的错误。我使用 mtcars 数据集重现了这个错误:

test=mtcars
test$am=as.factor(test$am)
test$cyl=as.factor(test$cyl)
test$vs=as.factor(test$vs)
library(survival)
clogit(am~vs+strata(cyl),data=test)

coxph(formula = Surv(rep(1, 32L), am) ~ vs + strata(cyl), data = test): Cox 模型不支持 “mright” 生存数据

据我理解,clogit函数创建时间参数,R似乎对此有问题。如果我不使用am作为因子,则错误会消失,但是我不必将其标记为因子以进行逻辑回归吗?

顺便说一下,我正在使用R 3.2.2和survival包2.41-3,但由于看起来涉及到的两个函数都来自survival包,所以这不应该是问题的根源,对吧?或者在更新的R版本下无法重现此错误?


2
?clogit 提供的帮助页面末尾,您可以找到使用此命令的示例。 输出不被定义为因子,而是逻辑/数值。 因此,我建议将 am 定义为 0/1 或 FALSE/TRUE。 - Marco Sandri
2
谢谢,响应代码逻辑正确,它可以工作,我应该注意到那个问题 :) - Member0815
1个回答

0
我认为@MarcoSandri或Member0815应该放入代码来说明这个解决方案,以便问题被视为“已回答”。
> test=mtcars
> test$am=as.logical(test$am)
> test$cyl=as.factor(test$cyl)
> test$vs=as.factor(test$vs)
> library(survival)
> clogit(am~vs+strata(cyl),data=test)
Call:
clogit(am ~ vs + strata(cyl), data = test)

          coef  exp(coef)   se(coef)      z     p
vs1 -2.248e+01  1.733e-10  2.159e+04 -0.001 0.999

Likelihood ratio test=7.75  on 1 df, p=0.005378
n= 32, number of events= 13 
Warning message:
In coxexact.fit(X, Y, istrat, offset, init, control, weights = weights,  :
  Loglik converged before variable  1 ; beta may be infinite. 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接