r - 如何预测R中的生存概率?

标签 r probability prediction survival-analysis

我有数据叫 veteran存储在 R 中。我创建了一个生存模型,现在希望预测生存概率预测。例如,80 karno 的患者的概率是多少?值,10 diagtime , age 65 和 prior=10trt = 2生命周期超过100天?

在这种情况下,设计矩阵为 x = (1,0,1,0,80,10,65,10,2)
这是我的代码:

library(survival)
attach(veteran)
weibull <- survreg(Surv(time,status)~celltype + karno+diagtime+age+prior+trt ,dist="w")

这是输出:

enter image description here

知道如何预测生存概率吗?

最佳答案

您可以使用 predict.survreg 为具有不同分位数的单个案例生成预测的生存时间(您会将值传递给 newdata ):

 casedat <- list(celltype="smallcell", karno =80, diagtime=10, age= 65 , prior=10 , trt = 2)
 predict(weibull, newdata=casedat,  type="quantile", p=(1:98)/100)
 [1]   1.996036   3.815924   5.585873   7.330350   9.060716  10.783617
 [7]  12.503458  14.223414  15.945909  17.672884  19.405946  21.146470
[13]  22.895661  24.654597  26.424264  28.205575  29.999388  31.806521
[19]  33.627761  35.463874  37.315609  39.183706  41.068901  42.971927
[25]  44.893525  46.834438  48.795420  50.777240  52.780679  54.806537
[31]  56.855637  58.928822  61.026962  63.150956  65.301733  67.480255
[37]  69.687524  71.924578  74.192502  76.492423  78.825521  81.193029
[43]  83.596238  86.036503  88.515246  91.033959  93.594216  96.197674
[49]  98.846083 **101.541291** 104.285254 107.080043 109.927857 112.831032
[55] 115.792052 118.813566 121.898401 125.049578 128.270334 131.564138
[61] 134.934720 138.386096 141.922598 145.548909 149.270101 153.091684
[67] 157.019655 161.060555 165.221547 169.510488 173.936025 178.507710
[73] 183.236126 188.133044 193.211610 198.486566 203.974520 209.694281
[79] 215.667262 221.917991 228.474741 235.370342 242.643219 250.338740
[85] 258.511005 267.225246 276.561118 286.617303 297.518110 309.423232
[91] 322.542621 337.160149 353.673075 372.662027 395.025122 422.263020
[97] 457.180183 506.048094
#asterisks added

然后,您可以找出哪个比指定的时间长,并且它看起来在第 50 个百分位数附近,正如人们可能从家庭作业问题中所期望的那样。
png(); plot(x=predict(weibull, newdata=casedat,  type="quantile", 
             p=(1:98)/100),  y=(1:98)/100 , type="l") 
dev.off()

enter image description here

关于r - 如何预测R中的生存概率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27408862/

相关文章:

r - 如何根据R中的曼哈顿距离计算Voronoi镶嵌

java - 6 次迭代后,在 for 循环中将新值赋给 double

python - 如何使用自定义概率分布进行随机选择

r - 尝试在 R 中使用朴素贝叶斯学习器,但 Predict() 给出的结果与模型建议的结果不同

r - 在多列上应用 tidyr::separate

R : How can I get all combinations from a bigger set to a smaller set?

arrays - 使用 R 将文件导入数组

python - 概率时间序列、观察到的数据概率(似曾相识)

r - 贝叶斯预测,下标越界

machine-learning - 机器学习算法的标准化输入