类型为 'environment' 的 R 对象不可子集化

标签 r survival-analysis cox-regression

我正在使用区间截尾数据进行生存分析,我正在尝试使用 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

最佳答案

  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 含义的更多信息。

关于类型为 'environment' 的 R 对象不可子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21477491/

相关文章:

r - 绘制用于 Cox 回归的 Kaplan-Meier

根据其他数据帧映射替换某些行中的值

r - 创建特定尺寸的绘图窗口

html - R 中的 cox 回归输出表或图

r - ggplot2/ggsurvplot : Vectorized input to `element_text()` is not officially supported

python - 如何将 Pandas 数据框读入卡普兰迈尔曲线?

r - 从字符串创建公式调用

r - 为什么子集不介意缺少数据帧的子集参数?

sql - 从 tbl_dbi 中提取 SQL 作为字符串的首选方法是什么?

python - CoxPHFitter 中的特征(协变量)选择,生命线生存分析