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

时间:2017-04-23 11:07:26

标签: r list survival

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吗?

感谢。

1 个答案:

答案 0 :(得分:1)

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

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)