2つのサブグループを持つ母集団にサバイバルパッケージを使用しています。各グループの5年のKM生存率が必要です。私はこの値を以下から取得しました:
summary(survfit(Surv(survtime, vital)~subgroup)), time = 60) #in months
ただし、5年生存率2つについてカイ2乗検定も実行したいと思いました。サバイバルパッケージを使用してこのテストを実行する簡単な方法はありますか?
アドバイスと助けてくれてありがとう!
2つのサブグループを持つ母集団にサバイバルパッケージを使用しています。各グループの5年のKM生存率が必要です。私はこの値を以下から取得しました:
summary(survfit(Surv(survtime, vital)~subgroup)), time = 60) #in months
ただし、5年生存率2つについてカイ2乗検定も実行したいと思いました。サバイバルパッケージを使用してこのテストを実行する簡単な方法はありますか?
アドバイスと助けてくれてありがとう!
これが正しい方法であるかどうかはわかりませんが(購入者は注意してください)、パッケージaml
にサンプルデータとして含まれているデータセットを使用した例を次に示します。survival
library(survival)
amlsurv <- with(aml,survfit(Surv(time,status) ~ x))
summary(amlsurv ,time=20)
その結果、次のようになりtime=20
ます。
Call: survfit(formula = Surv(time, status) ~ x)
x=Maintained
time n.risk n.event
20.000 7.000 3.000 ...
x=Nonmaintained
time n.risk n.event
20.000 6.000 5.000 ...
これらのオプションは両方とも、次のsurvdiff
関数を使用して失敗します。
survdiff(summary(aml,time=20))
survdiff(aml,time=20)
次に、手動で20日に制限してみてください。
aml$status.20 <- aml$status
# set 'deaths' with a time greater than 20 to be 'survivors'
aml$status.20[aml$status == 1 & aml$time > 20] <- 0
amlsurv <- (Surv(aml$time,aml$status.20) ~ aml$x)
summary(survfit(amlsurv))
# results are the same as above, Maintained=3 events,Nonmaintained=5 events
これで、2つのグループを比較して20日間の制限の結果を得ることができます。
survdiff(amlsurv)
Call:
survdiff(formula = amlsurv)
N Observed Expected (O-E)^2/E (O-E)^2/V
aml$x=Maintained 11 3 4.3 0.392 0.874
aml$x=Nonmaintained 12 5 3.7 0.455 0.874
Chisq= 0.9 on 1 degrees of freedom, p= 0.35
あなたは簡単に使うことができますsurvdiff()
:
s.fit <- survfit(Surv(survtime, vital)~subgroup)
survdiff(s.fit)