0

survfit() 函数将不接受列表,因此我需要一种方法来取消列出 Surv() 的结果而不从列中删除信息。例如,使用肺数据:

library(survival)

attach(lung)

lung$survObj <- with(lung, Surv(time, status ==2))
lung.2 <- lung
mylist <- list(lung,lung.2)

这是尝试lung从我的列表中使用并传递lung$survObj到 `survfit() 并按第 5 列(性别)分组:

survfit(formula = mylist[[1]][11] ~ mylist[[1]][5], data = mylist[[1]])

invalid type (list) for variable 'mylist[[1]][11]'

但鉴于以下情况:

nrow(mylist[[1]][11])

228

length(unlist[[1]][11])

456

即双倍!

我得到明显的抱怨,我正在比较长度不等的列。

还请注意,这些+符号在取消列出后被删除,这对 survfit() 至关重要。

有没有人设法在数据框列表上调用 survfit ?

谢谢。

4

1 回答 1

1

以下是您的问题的三种可能解决方案。

一个)

survfit(survObj ~ sex, data=mylist[[1]])

二)

 Y1 <- mylist[[1]]$survObj
 x1 <- mylist[[1]]$sex
 survfit(Y1 ~ x1)

C)

Y2 <- mylist[[1]][11][[1]]
x2 <- mylist[[1]][5][[1]]
survfit(Y2 ~ x2)
于 2017-04-23T13:17:58.880 回答