2

私はRの初心者です。現在、私が持っているいくつかの生存データに対数正規分布を当てはめていますが、中央値や平均などの統計を計算しようとすると行き詰まりました。これは私がこれまでに使用したコードです。意味を見つけるために次に何を入力すればよいか誰か教えてもらえますか?

# rm(list=ls(all=TRUE))
library(survival)
data<-read.table("M:\\w2k\\Diss\\Hoyle And Henley True IPD with number at risk known.txt",header=T)
attach(data)
data
times_start <-c(  rep(start_time_censor, n_censors), rep(start_time_event, n_events) )
times_end <-c(  rep(end_time_censor, n_censors), rep(end_time_event, n_events)  )
model <- survreg(Surv(times_start, times_end, type="interval2")~1, dist="lognormal")
intercept <- summary(model)$table[1]   
log_scale <- summary(model)$table[2]

これは私が行き詰まった場所です、私は試しました:

meantime<-exp(intercept+log_scale/2)

しかし、これは現実的な意味を与えていないようです。

4

1 に答える 1

2

実際の例を探す場所は?predict.survreg. (一般に、方法のヘルプ システムを使用することpredictは、回帰方法の生産的な戦略です。)

最後の例を実行すると、先に進むための十分な基礎が得られるはずです。特に、回帰係数は生存時間や分位数の推定値ではないことに注意してください。

lfit <- survreg(Surv(time, status) ~ ph.ecog, data=lung)
pct <- 1:98/100   # The 100th percentile of predicted survival is at +infinity
ptime <- predict(lfit, newdata=data.frame(ph.ecog=2), type='quantile',
                 p=pct, se=TRUE)
matplot(cbind(ptime$fit, ptime$fit + 2*ptime$se.fit,
                          ptime$fit - 2*ptime$se.fit)/30.5, 1-pct,
         xlab="Months", ylab="Survival", type='l', lty=c(1,2,2), col=1)
 # The plot should be examined since you asked for a median survival time
 abline(h= 0.5)
 # You can  drop a vertical from the intersection to get that graphically 

.... また ...

 str(ptime)
List of 2
 $ fit   : num [1:98] 9.77 16.35 22.13 27.46 32.49 ...
 $ se.fit: num [1:98] 2.39 3.53 4.42 5.16 5.82 ...

次のようにして、生存時間のシーケンスから 50 パーセンタイルを抽出できます。

 ptime$fit[which((1-pct)==0.5)]
# [1] 221.6023   

Therneau が月を表示するために 30.5 で割った理由は日で測定された

于 2013-09-15T16:00:40.377 に答える