No.10805 cancer.vetはどこに?  【sakura】 2009/09/05(Sat) 08:21

はじめて投稿します。よろしくお願いします。
臨床研究はしたことがないのですが,

1)生存時間分析の相談を受けて,はじめてlibrary(survival)を使っています。
S-PLUSによる統計解析の12章 12.4.1在郷軍人局の肺ガンデータを使った例題を試してみたいのですが,cancer.vetが何処にあるのか?

Rのlibrary(MASS)のデータセットのどれが該当するのか分かりません。

2)多群間でログランク検定をした後,ボンフェローニなどの多重比較をしているような論文を見たりするのですが,これは一般的なことなのでしょうか?

何かしら,違和感を覚えてしまう・・・のです。勉強不足が恥ずかしいのですが,ご教示ください。

No.10806 Re: cancer.vetはどこに?  【青木繁伸】 2009/09/05(Sat) 11:02

1) MASS の VA ではないですか?
Veteran's Administration lung cancer trial from Kalbfleisch & Prentice.

2) さまざまな検定に対応した多重比較の方法が,全て用意されているわけではありません。そのような場合でも,ボンフェローニ法はいつでも・どんな検定においても使えるのです。

No.10807 Re: cancer.vetはどこに?  【sakura】 2009/09/05(Sat) 13:30

早速のご教示ありがとうございます。

p461の
> VA.temp <- as.data.frame(cancer.vet)から想像できませんでした。

MASSのVAをさっそく使ってみました。ありがとうございました。

カプランマイヤーのグラフに書かれているP値はボンフェローニの数値であると考えてよいということでしょうか?

No.10808 Re: cancer.vetはどこに?  【青木繁伸】 2009/09/05(Sat) 14:24

本のグラフのことですか?私はその本を見ていないので,そうであるかどうかはわかりません。
一般的には,ボンフェローニ法は「有意水準」の調整なのであって,P値を調整するものではありません。よって,「書かれているP値はボンフェローニの数値であると考えてよいということでしょうか」というのは,おかしな陳述であると思います。
ボンフェローニ法をもう一度おさらいしたほうがよいと思います。

No.10809 Re: cancer.vetはどこに?  【sakura】 2009/09/05(Sat) 15:15

青木先生,ありがとうございます。

本のグラフではありません。
MASSのVAとは無関係の質問です。申し訳ありません。
たとえば,
幾つかの処方毎のカプランマイヤーグラフを描いてあり,処方間の違いをみたようなP値を表記してあるのを見たりするのですが,そのP値はどうやって出してあるのかわからないことがあるものですから,質問しました。

勉強不足を痛感します。

No.10810 Re: cancer.vetはどこに?  【青木繁伸】 2009/09/05(Sat) 15:25

カプラン・マイヤー法では,全体としての処方間の違いは検定できません。おそらく,その図に書いてあるP値は,ログランクテストなど別の検定結果のP値だと思います。論文中に書いてありませんでしたか?

No.10820 Re: cancer.vetはどこに?  【sakura】 2009/09/09(Wed) 05:59

遅くなり,申し訳ありません。

私の相談者が参考にしている論文を今日,初めて読ませてもらいました。

その論文では4群間の比較にKuruskal-Wallis検定を使っていました。

私に相談している人はカプランマイヤーで描いた,例えば,4群間のログランク検定のP値を求めているようです。

多群間ログランク検定をするには,基準にする群と他の群の2群対比較の繰り返しでは検出力も低下しますし,ログランク検定の繰り返しには問題があるように思います。

大橋靖雄・浜田知久馬著「生存時間解析」を読んでみると「タローン検定」という方法があり,SASで実行できるようですが,この検定を「R」で実行するにはどうしたらいいのでしょうか?

No.10821 Re: cancer.vetはどこに?  【青木繁伸】 2009/09/09(Wed) 10:00

確実性に欠けるので,コメントしようかどうしようか迷いましたが,

9201へのレス 10523 の Re: 3群以上の比較の場合のログランク検定(投稿者:NYK さん)によると,

> 以前勝鬨橋のSASの講習会で,東大の大橋先生が,
> 「3群以上の生存率の比較の際,2群ごとにログランク検定を繰り返すことは問題ない」
> といっておられました。もちろん多重性の調節なしにです。

とのことです。

Tarone test は,

Gehan-Breslow test 及び Cox-Tarone test
Breslow-Day-Tarone test for homogeneity

のような記載例があり,異同がはっきりしませんが,Breslow の検定は,いくつか実装例があるようで,
http://www-m4.ma.tum.de/courses/SS08/statbiosci/StratAdj/breslowday.test.R
など。
私のところにも,
http://aoki2.si.gunma-u.ac.jp/R/BD-test.html
が, あります。breslowday.test.R のソースを見ると,Tarone corrected test ということで,Breslow-Day-Tarone X-squared を計算するようです。私の BD-test.R は Tarone 補正無しつまり,breslowday.test.R でも計算される Breslow-Day X-squared ですね。

お定まりの,site:r-project.org tarone で,検索すると,
metafor ライブラリにあるのが見つかる。rma.mh というやつですね。
When analyzing odds ratios using the Mantel-Haenszel method, the Cochran-Mantel-Haenszel test and Tarone’s test for heterogeneity are also provided.
ということですね。'test for heterogeneity' ということは,対比較ではなく,全体として差があるかどうかだけの検定ですね。対比較は結局ボンフェローニ法による。それとも,ログランク検定のときと同 じく,「もちろん多重性の調節なしに」対比較してよいということなのか。

No.10822 Re: cancer.vetはどこに?  【surg】 2009/09/09(Wed) 12:23

> 大橋靖雄・浜田知久馬著「生存時間解析」を読んでみると「タローン検定」という方法があり,SASで実行できるようですが,この検定を「R」で実行するにはどうしたらいいのでしょうか?

SASでの実行例が86ページの「プログラム2.5.3」と「出力2.5.2」にありますよね.
これをRで実行したいのであれば,以下のようにします.

u <- c(-13.8626, 4.814431, 9.048202) # ログランクスコアベクトル
v <- matrix(data = c(10.2810, -5.7934, -4.4875, -5.7934, 9.0072, -3.2138,
-4.4875, -3.2138, 7.7013), nrow = 3) # スコアの分散共分散行列
c.t <- c(10, 30, 90) # タローン検定の対比ベクトル
c.1 <- c(-1, 0, 1) # 1次成分の対比ベクトル
c.2 <- c(-1, 2, -1) # 2次成分の対比ベクトル
(x2.l <- t(u) %*% solve(v) %*% u) # ログランク検定のカイ2乗検定統計量
(x2.t <- (t(c.t) %*% u) ^ 2 / (t(c.t) %*% v %*% c.t))
# タローン検定のカイ2乗検定統計量
(x2.1 <- (t(c.1) %*% u) ^ 2 / (t(c.1) %*% v %*% c.1))
# 1次成分の検定のカイ2乗検定統計量
(x2.2 <- (t(c.2) %*% u) ^ 2 / (t(c.2) %*% v %*% c.2))
# 2次成分の検定のカイ2乗検定統計量
(p.l <- (1 - pchisq(x2.l, 2))) # ログランク検定のp値
(p.t <- (1 - pchisq(x2.t, 1))) # タローン検定のp値
(p.1 <- (1 - pchisq(x2.1, 1))) # 1次成分の検定のp値
(p.2 <- (1 - pchisq(x2.2, 1))) # 2次成分の検定のp値

# 一般的には,solve() よりも library(MASS) の ginv() を使った方が良いのかも.

No.10833 Re: cancer.vetはどこに?  【sakura】 2009/09/09(Wed) 21:45

青木先生,surgさま,ありがとうございます。

私もいろいろ調べてみました。
青木先生の言われるように,tarone testはつい比較ではなく全体としての差の比較のようですね。
大橋靖雄・浜田知久馬著「生存時間解析」を読み進めていっても,そのように受け取れますし,
UCLA Academic Technology Services のStat Computing>・・・>Textbook Examples>Applied Survival Analysis,by Hosmer and Lemeshowを読み進めていっても,全体としての比較で,log-rankと同じような結果が見られます。

データセットの内容によって,P値は異なり,log-rank,taroneに,優劣があるのかどうかよく解りませんが,,,。数理に強くありませんので,細かいところは分かりません。

Applied Survival Analysisは実物を所有していませんので,想像でしかないのですが,,,。

surgさま,
Rのスプリプト,ありがとうございます。
さっそく使わせていただきます。

青木先生,先生のサイトのスクリプトも使わせていただきます。ありがとうございます。

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