使用数据框列表创建生存曲线
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)
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)