3

我正在使用区间删失数据进行生存分析,并且正在尝试使用 incox 包中的 intcox() 函数进行 Cox 回归。我已经用 survfit() 完成了部分分析,一切正常。

当我尝试使用 intcox 时,总是有一个问题:

> intcox(Surv(tempo2,tempo1,type="interval2")~dados$sexo)
Error in copy.data[ord, ] : 
  object of type 'environment' is not subsettable

> intcox(Surv(tempo2,tempo1,type="interval2")~sexo, data=dados)
Error in if (any(derivs.wert$g1 <= 0)) { : 
  missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In Surv(data$mix, lokal.cens) : Invalid status value, converted to NA
2: In coxph(formula, data) : X matrix deemed to be singular; variable 1

dados$sexo 是一个具有三个级别的因子,dados 是一个包含 156 个观察值和 52 个变量的列表。在进行 Kaplan-Meier 分析或在没有区间数据的情况下使用 coxph() 时没有问题。当我使用其他变量时,问题似乎是一样的。
我正在使用 R 3.0.1

**更新**
我没有改变任何东西,现在错误看起来像这样:

> intcox(Surv(tempo2,tempo1,type="interval2")~dados$sexo)
Error in intcox(Surv(tempo2, tempo1, type = "interval2") ~ dados$sexo) : 
  Invalid cens status

> intcox(Surv(tempo2,tempo1,type="interval2")~sexo, data=dados)
Error in intcox(Surv(tempo2, tempo1, type = "interval2") ~ sexo, data = dados) : 
  Invalid cens status
4

1 回答 1

1
  1. 对于你的第一个问题,

    >intcox(Surv(tempo2,tempo1,type="interval2")~sexo, data=dados)
    Error in if (any(derivs.wert$g1 <= 0)) { : 
    missing value where TRUE/FALSE needed
    In addition: Warning messages:
    1: In Surv(data$mix, lokal.cens) : Invalid status value, converted to NA
    2: In coxph(formula, data) : X matrix deemed to be singular; variable 1
    

这是由于您的变量是数据框中其他变量的线性组合,这使得 X 矩阵非奇异,正如第二个警告所暗示的那样。

coxph 可以通过将这些变量的系数设置为 NA 来处理这个非奇异问题。然而,不幸的是,这个 intcox 包不是很健壮。一种解决方案是首先使用一些线性模型找出这些变量,然后从数据框中消除它们。那你走吧。

  1. 对于你的第二个问题,

    > intcox(Surv(tempo2,tempo1,type="interval2")~sexo, data=dados)
    Error in intcox(Surv(tempo2, tempo1, type = "interval2") ~ sexo, data = dados) : 
      Invalid cens status
    

可能您没有以正确的方式制定数据集。我无法提供更多帮助,因为您没有提供有关变量 tempo1 和 tempo2 含义的更多信息。

于 2015-01-20T19:15:56.997 回答