如何将Surv对象作为新列包含在data.table中?

杜威布鲁克

我正在执行生存分析,我想在中创建一个Surv对象作为其自己的列data.table尽管Surv对象被视为向量,但由于它们实际上是2列矩阵,因此我无法使用它们来创建新列。是否有一种优雅的方式包含Surv对象而不将其拆分为单独的列?

这就是Surv对象的外观。

DT[,Surv(time, status)]
#>  [1]   9   13   13+  18   23   28+  31   34   45+  48  161+   5    5    8 
#> [15]   8   12   16+  23   27   30   33   43   45

这是我想做的一个例子:

library(data.table)
library(survival)

DF <- as.data.frame(survival::aml)
DT <- as.data.table(survival::aml)

# Does work
DF$survival <- Surv(DF$time, DF$status)

# Does not work
DT[,survival:=Surv(time, status)]
红外光谱

尚不清楚这种构造的基本计划是什么,但是如果希望在data.table环境中进行生存建模,则不需要单独构造-object Surv人们应该习惯于在data.table -position中放置完整的表达式j

> DT[ , coxph( Surv(time, status) ~ 1, data=.SD) ]
Call:  coxph(formula = Surv(time, status) ~ 1, data = .SD)

Null model
  log likelihood= -42.72484 
  n= 23 

data.table函数创建一个环境,在该环境中,对列名称进行求值时不带引号:

> DT[ , summary(coxph( Surv(time, status) ~ x), data=.SD) ]
Call:
coxph(formula = Surv(time, status) ~ x)

  n= 23, number of events= 18 

                 coef exp(coef) se(coef)     z Pr(>|z|)  
xNonmaintained 0.9155    2.4981   0.5119 1.788   0.0737 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

               exp(coef) exp(-coef) lower .95 upper .95
xNonmaintained     2.498     0.4003    0.9159     6.813

Concordance= 0.619  (se = 0.063 )
Likelihood ratio test= 3.38  on 1 df,   p=0.07
Wald test            = 3.2  on 1 df,   p=0.07
Score (logrank) test = 3.42  on 1 df,   p=0.06

实际上Surv,在coxph函数之外单独构造-object的实践给rhelp邮件列表带来了问题,因为这样的外部使对象的环境不是所提供的数据帧coxph而是环境globalenv()生存包的作者特里·特内(Terry Therneau)警告人们不要制造单独的Surv物体。这完全与有关在data.table中封装矩阵的任何问题分开,但希望它将减少对此障碍的挫败感。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将存档的所有对象包含在共享对象中?

ExpressJS:如何将转译的 .js 文件作为静态资源包含在 HTML 中

如何将表单字段作为ng-include包含在表单中?

如何将文件同时包含在cpp中作为字符串和代码?

如何将代码作为文本包含在HTML页面中

如何将窗口作为有效道具包含在PropTypes中?

如何将xlsx文件作为数据包含在R包中

如何将新对象添加到我包含在我的配置文件模型中的空数组中(mongodb/mongoose)

将IRanges列表作为列包含在data.frame中

如何将两个表中的值包含在同一列中

将行号作为列包含在MySQL INSERT中

如何将jar文件包含在Scala代码中

如何将这个 svg 包含在 react 组件中?

我如何将SASS mixin包含在变量中?

如何将统计测试的结果作为 ggplot2 facet 中的 plotmath 表达式包含在内

如何将向量列表并行添加到data.frame对象列表中作为新插槽?

如何将反应状态中的值作为变量包含在 API 调用中作为查询参数的一部分

如何将数据库值添加到包含类作为对象的字典中

在将 JSON 转换为 DF 时,将 JSON 部分编号作为列包含在 df 中

如何将我的应用程序作为模块包含在Swift Playground中?

如何将来自属性的HTML作为标记包含在指令模板中

如何将仅包含结构的.h文件包含在静态库中

如何将集合作为新列追加到具有许多列的DataFrame中?

将向量作为单独的新列追加到data.table中,向量循环单个值

将新列添加到包含许多变量的data.table中

如何将列名作为变量传递给R中的data.table?

如何将对象包含在生锈的mod.rs中?

如何将分配给结构数组的结构包含在C中的结构中?

如何在数据步骤中使用变量而不将其作为列包含在 SAS 中