2015-03-31 42 views
1

我想要適合參數化生存模型。我想我設法做到了。如何計算R中的生存概率?

library(survival) 
zaman <- c(65,156,100,134,16,108,121,4,39,143,56,26,22,1,1,5,65, 
56,65,17,7,16,22,3,4,2,3,8,4,3,30,4,43) 
test <- c(rep(1,17),rep(0,16)) 
WBC <- c(2.3,0.75,4.3,2.6,6,10.5,10,17,5.4,7,9.4,32,35,100, 
100,52,100,4.4,3,4,1.5,9,5.3,10,19,27,28,31,26,21,79,100,100) 
status <- c(rep(1,33)) 
data <- data.frame(zaman,test,WBC) 

surv3 <- Surv(zaman[test==1], status[test==1]) 
fit3 <- survreg(surv3 ~ log(WBC[test==1]),dist="w") 

在另一方面,一點問題都沒有,而使用計算的存活概率的Kaplan-Meier估計:但是,我不能在計算生存概率成功

fit2 <- survfit(Surv(zaman[test==0], status[test==0]) ~ 1) 
summary(fit2)$surv 

知道爲什麼?

+0

我不明白第一個'fit3'的問題是什麼。與你期望的有什麼不同? – 2015-03-31 19:02:43

+0

@DavidRobinson對不起。我編寫了兩次相同的代碼。更正了它 – 2015-03-31 19:07:34

+0

所以問題是你不知道如何從'fit3'對象中提取生存概率? – 2015-03-31 19:12:51

回答

0

你可以得到從survreg對象的預測概率與predict

predict(fit3) 

如果你有興趣在此與原始數據相結合,而且在預測的殘留和標準錯誤,可以使用augment功能在我broom包:

library(broom) 
augment(fit3) 

全面的分析可能看起來像:

library(survival) 
library(broom) 
data <- data.frame(zaman, test, WBC, status) 
subdata <- data[data$test == 1, ] 

fit3 <- survreg(Surv(zaman, status) ~ log(WBC), subdata, dist="w") 
augment(fit3, subdata) 

隨着輸出:

zaman test WBC status .fitted .se.fit  .resid 
1  65 1 2.30  1 115.46728 43.913188 -50.467281 
2 156 1 0.75  1 197.05852 108.389586 -41.058516 
3 100 1 4.30  1 85.67236 26.043277 14.327641 
4 134 1 2.60  1 108.90836 39.624106 25.091636 
5  16 1 6.00  1 73.08498 20.029707 -57.084979 
6 108 1 10.50  1 55.96298 13.989099 52.037022 
7 121 1 10.00  1 57.28065 14.350609 63.719348 
8  4 1 17.00  1 44.47189 11.607368 -40.471888 
9  39 1 5.40  1 76.85181 21.708514 -37.851810 
10 143 1 7.00  1 67.90395 17.911170 75.096054 
11 56 1 9.40  1 58.99643 14.848751 -2.996434 
12 26 1 32.00  1 32.88935 10.333303 -6.889346 
13 22 1 35.00  1 31.51314 10.219871 -9.513136 
14  1 1 100.00  1 19.09922 8.963022 -18.099216 
15  1 1 100.00  1 19.09922 8.963022 -18.099216 
16  5 1 52.00  1 26.09034 9.763728 -21.090343 
17 65 1 100.00  1 19.09922 8.963022 45.900784 

在這種情況下,.fitted列是預測概率。

+0

之後所以我們期望1號患者能活115個星期以上?另外,如何將log(log(-S(y)))與fit3的log(zaman)進行比較? – 2015-03-31 19:32:16

+0

a)完全基於WBC和擬合關係,它表明115是預期值。 b)爲什麼'log(log(-S(y))'和'S(y)'是什麼? – 2015-03-31 20:54:41