使用数据框列表创建生存曲线

create survival curve with a list of dataframes

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?

谢谢。

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

A)

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

B)

 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)