私はrandomForestSRCの中央生存率を計算しようとします。randomForestSRCの中央値生存率を計算する方法
library(randomForestSRC)
data(veteran, package = "randomForestSRC")
train <- sample(1:nrow(veteran), round(nrow(veteran) * 0.80))
veteran.grow <- rfsrc(Surv(time, status) ~ ., veteran[train, ], ntree = 100)
veteran.pred <- predict(veteran.grow, veteran[-train , ])
print(veteran.grow)
print(veteran.pred)
問題私は
veteran.pred$survival
生存関数を取得し、私は生存関数(値veteran.pred$survival== 0.5
用veteran.pred$time.interest
)の中央値を取得したい、十分なため、最初の行の
a = as.data.frame(veteran.pred$time.interest)
b= as.data.frame(veteran.pred$survival[1,])
df =cbind(a, b)
df <-rename(df, `time` =`veteran.pred$time.interest`)
df$`veteran.pred$survival[1, ]` = round(df$`veteran.pred$survival[15, ]`, 2)
subset(df, df$`veteran.pred$survival[1, ]`== 0.5)$time
生存関数はまったく重要ではありません0.5 私たちの場合は
[1] 1.00 1.00 1.00 0.95 0.95 0.95 0.95 0.93 0.93 0.93 0.93 0.93 0.93 0.93 0.90 0.90 0.90 0.87 0.87 0.87
[21] 0.87 0.87 0.86 0.76 0.76 0.67 0.67 0.67 0.67 0.67 0.67 0.66 0.66 0.66 0.66 0.66 0.65 0.64 0.57 0.57
[41] 0.57 0.57 0.57 0.57 0.57 0.48 0.45 0.39 0.39 0.32 0.32 0.29 0.29 0.29 0.29 0.26 0.26 0.25 0.25 0.25
[61] 0.25 0.25 0.25 0.25 0.20 0.20 0.20 0.20 0.20 0.20 0.18 0.18 0.18 0.16 0.16 0.16 0.14 0.14 0.14 0.11
[81] 0.07 0.07
だから我々は、生存期間の中央値を計算するためにどのように最も近い値0.57
& 0.48
がありますか?
私はあなたに同意しますが、私は 'rfsrc'がもっと正確な値を与えてくれると思います。ベテランはおもちゃの例です – Edward
その理由はありますか? –