2017-04-23 85 views
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?

謝謝。

回答

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) 
+0

感謝馬可的所有工作,去與自動化pruposes第一個選項。 – brucezepplin

相關問題