No.16947 95%信頼区間のNAについて  【もちづき】 2012/05/24(Thu) 19:15

いつも参考にさせていただいております。
統計初心者で質問してしまうことが大変恐縮ですが,ご教授ください。

生存分析を行い,Median survivalを算出した際,下記のように95%信頼区間のupperがNAと表示されてしまいます。
     records n.max n.start events median 0.95LCL 0.95UCL
group=1 25 25 25 18 12.82 8.86 NA
group=2 17 17 17 17 9.79 8.39 13.8
Q1.この理由はなぜでしょうか?算出するための対処をご教授ください。
Q2.他の統計ソフトと比べた結果,生命表やmedian,ログランク検定の結果も一緒ですが,上記の95%信頼区間のみが異なった結果となります。算出の計算式は一緒と理解していたのですが,この理由はなぜでしょうか?

以上,よろしくお願いします。

No.16951 Re: 95%信頼区間のNAについて  【青木繁伸】 2012/05/24(Thu) 20:33

どういうプログラムでどういうデータを分析したかがわからないと,はっきりとしたことはいえませんねぇ。

> 他の統計ソフトと比べた結果,生命表やmedian,ログランク検定の結果も一緒ですが,上記の95%信頼区間のみが異なった結果となります。

「他の統計ソフト」というのもなんなのか分かりませんが,信頼できるソフトなら,そちらの結果を参照すればよいのではないでしょうか?

回答者は千里眼ではないので...

No.16957 Re: 95%信頼区間のNAについて  【mochizuki】 2012/05/25(Fri) 11:16

早速のご回答ありがとうございました。使用したデータ,コマンドは下記の通りです。
下記データをDEPに代入しています。

group OS.event OS.time
1 1 1 8.571429
2 1 1 5.607143
3 1 1 10.892857
4 1 1 12.821429
5 1 0 36.928571
6 1 0 30.250000
7 1 1 40.250000
8 1 1 7.642857
9 1 1 8.214286
10 1 1 8.857143
11 1 1 24.000000
12 1 1 6.821429
13 1 1 27.321429
14 1 1 17.357143
15 1 1 4.571429
16 1 1 5.892857
17 1 0 23.464286
18 1 0 15.000000
19 1 1 11.428571
20 1 1 16.071429
21 1 0 9.964286
22 1 0 28.428571
23 1 1 11.607143
24 1 1 7.428571
25 1 0 15.571429
26 2 1 18.750000
27 2 1 7.285714
28 2 1 8.142857
29 2 1 9.750000
30 2 1 13.214286
31 2 1 10.785714
32 2 1 9.785714
33 2 1 4.142857
34 2 1 26.000000
35 2 1 20.428571
36 2 1 7.428571
37 2 1 8.392857
38 2 1 12.000000
39 2 1 3.928571
40 2 1 9.428571
41 2 1 13.750000
42 2 1 13.321429

survfit(Surv(OS.time,OS.event) ~ group, data=DEP, type="kaplan-meier")

よろしくお願いいたします。

No.16958 Re: 95%信頼区間のNAについて  【青木繁伸】 2012/05/25(Fri) 12:50

survfit(Surv(OS.time,OS.event) ~ group, data=DEP, type="kaplan-meier") が返すオブジェクト中の $upper は生存率の上側信頼限界です。
group1 では
 [1] 1.000 1.000 1.000 0.997 0.973 0.947 0.919 0.890 0.859 0.859 0.826 0.791
[13] 0.755 0.717 0.717 0.717 0.676 0.632 0.632 0.586 0.535 0.535 0.535 0.535
[25] NA
group2 では
 [1] 1.000 1.000 1.000 0.995 0.959 0.919 0.876 0.829 0.779 0.727 0.672 0.614
[13] 0.554 0.493 0.432 0.394 NA
となっています。group1 では,最も小さい数値が 0.535 で,その値が 0.5 を超えているため,メディアンの上側信頼限界を求めることができないのです。group2 では 0.394 なので計算できます。まあ,そういう風な計算手順なので。計算は,survival:::survmean 関数で行われており,その関数の内部関数 pfun,更にその内部関数 minmin 関数を読めば良いかと思います。

なお,conf.type="plain" または "log-log"/ にすれば,数値は出てきます(デフォルトは conf.type="log")。その他も含め,細かいところは,survfit.formula のオンラインヘルプを熟読して下さい。
> survfit(Surv(OS.time,OS.event) ~ group, data=DEP, type="kaplan-meier", conf.type="plain")
Call: survfit(formula = Surv(OS.time, OS.event) ~ group, data = DEP,
type = "kaplan-meier", conf.type = "plain")

records n.max n.start events median 0.95LCL 0.95UCL
group=1 25 25 25 18 12.82 8.57 27.3
group=2 17 17 17 17 9.79 8.14 13.3

> survfit(Surv(OS.time,OS.event) ~ group, data=DEP, type="kaplan-meier", conf.type="log-log")
Call: survfit(formula = Surv(OS.time, OS.event) ~ group, data = DEP,
type = "kaplan-meier", conf.type = "log-log")

records n.max n.start events median 0.95LCL 0.95UCL
group=1 25 25 25 18 12.82 8.57 27.3
group=2 17 17 17 17 9.79 7.43 13.3

No.16959 Re: 95%信頼区間のNAについて  【mochizuki】 2012/05/25(Fri) 14:12

先生,

ご回答いただきありがとうございました。
オンラインヘルプも含め,勉強いたします。

● 「統計学関連なんでもあり」の過去ログ--- 045 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る