4

Rで数理生存分析を作成しようとしています(いくつかの実例に従っています)。survivalこれを行う最良の方法は、パッケージを使用することだと思います。次のようなものです:

library(survival)
surv.test <- survfit(Surv(TIME,STATUS), data=test)

ただし、正しい答えを得るには、TIME変数を 365 日の間隔に分割する必要があります。これを行う方法がわかりません。これにより、指定された結果と一致します。

私が知る限り、これをsurvfit行う関数内のオプションはありません。私はいくつかのドキュメントの例を調べましたが、どれも階段型のプロットを作成しようとしていませんでした (type='interval'オプションはありますが、何か違うことをしているようです)。survival関数を適用する前に、データを再グループ化する必要があると思いますか?

何か案は?

PS: SPSS では、これはINTERVAL = THRU 10000 BY 365; スタタでintervals(365) ... connect(stairsteps)

4

3 に答える 3

1

TIMEカプラン・マイヤー曲線をプロットしたいので、変数を区間に分割したいと思います。R では、その必要はありませんsurvfit。オブジェクトに対して plot を呼び出すだけです。例えば、

s=survfit(Surv(futime, fustat)~rx, data=ovarian)
plot(s)

ここに画像の説明を入力


私はあなたの質問を少しよく理解していると思います。太い黒い線が表示される理由は、多くの打ち切りがあり、打ち切りが+あるすべての点で a がプロットされているためです。これを でオフにすることができますmark.time=F。(他のオプションは で確認できます?survival:::plot.survfit)

ただし、それでも年別に集計したい場合は、フォローアップ時間を 365 で割り、切り上げます。ceilingを切り上げるために使用されます。打ち切りなしで異なる時間レベルで集計する例を次に示します。

par(mfrow=c(1,3))
plot(survfit(Surv(ceiling(futime), fustat)~rx, data=ovarian),col=c('blue','red'),main='Day',mark.time=F)
plot(survfit(Surv(ceiling(futime/30), fustat)~rx, data=ovarian),col=c('blue','red'),main='Month',mark.time=F)
plot(survfit(Surv(ceiling(futime/365), fustat)~rx, data=ovarian),col=c('blue','red'),main='Year',mark.time=F)
par(mfrow=c(1,1))

しかし、打ち切り記号なしでカプラン・マイヤーをプロットすると、見栄えがよくなり、より多くの洞察が得られると思います。

ここに画像の説明を入力

于 2012-08-09T17:21:09.033 に答える
0

それはまさに私が欠けていたものでした!ありがとう!

ここに画像の説明を入力

解決:

vas.surv <- survfit(Surv(ceiling(TIME/365), STATUS)~1, conf.type="none", data=vasectomy)
plot(vas.surv, ylim=c(0.975,1), mark.time=F, xlab="Years", ylab="Cumulative Survival")

x 軸に (SPSS のように) 年ではなく日を表示するのがいい感じですが、私はこれについてあまり気にしません。

于 2012-08-10T13:11:00.843 に答える
0

万歳、今すぐ画像を投稿できるはずです。

1) これは、R の基本的なサバイバル プロットが現時点でどのように見えるかです。 ここに画像の説明を入力

2) そして、これはどのように見えるべきか (SPSS の例) ここに画像の説明を入力

于 2012-08-10T07:07:32.133 に答える