## サンプルデータを作成する まず、生存時間解析用のサンプルデータを作りましょう。 現在あるデータは消えるので注意してください。 ```stata clear input id treatment month event 1 0 7 1 2 0 5 1 3 0 8 1 4 0 6 0 5 0 4 1 6 0 3 1 7 0 5 0 8 0 6 1 9 0 7 1 10 0 4 1 11 0 5 1 12 0 3 0 13 0 6 1 14 0 5 1 15 0 4 1 16 1 12 1 17 1 14 1 18 1 16 0 19 1 15 1 20 1 13 1 21 1 18 1 22 1 14 0 23 1 15 1 24 1 13 1 25 1 17 1 26 1 14 1 27 1 12 0 28 1 16 1 29 1 15 1 30 1 13 0 end ``` 次に以下を実行しましょう。 `stset` のあとに、時間の変数を記載します。そのあと、`failure()` のなかにイベント(1がイベントあり)の変数を記載します。 ```stata stset month, failure(event) ``` `list in 1/5` で 1-5行目を表示すると以下のようになっています。 `_` アンダースコアから始まる変数がいくつかつくられた状態です。これによって生存時間解析の準備がととのいました。 ```stata . list in 1/5 +-----------------------------------------------------+ | id treatm~t month event _st _d _t _t0 | |-----------------------------------------------------| 1. | 1 0 7 1 1 1 7 0 | 2. | 2 0 5 1 1 1 5 0 | 3. | 3 0 8 1 1 1 8 0 | 4. | 4 0 6 0 1 0 6 0 | 5. | 5 0 4 1 1 1 4 0 | +-----------------------------------------------------+ ``` ## 生存時間曲線をつくる 生存時間曲線(カプランマイヤー曲線)を書いてみましょう。 ```stata sts graph ``` たったこれだけで以下のようなグラフが書けます。 ![[Pasted image 20250318202858.png]] 段階的に複雑にしてみます。 打ちきりの症例にヒゲ(tick mark)をつけます。 ```stata sts graph, censored(single) ``` ![[Pasted image 20250318203000.png]] 治療で2群に分かれているので、2群を示します。 ```stata sts graph, censored(single) by(treatment) ``` ![[Pasted image 20250318203151.png]] 95%信頼区間をつけることもできます。 ```stata sts graph, censored(single) by(treatment) risktable ci ``` ![[Pasted image 20250318203203.png]] 群毎に色をわけることもできます。 ```stata sts graph, censored(single) by(treatment) risktable ci /// plot1opts(lcolor(red) lpattern(solid)) /// ci1opts(color(red%30)) /// plot2opts(lcolor(green) lpattern(solid)) /// ci2opts(color(green%30)) /// legend(order(2 "Control" 1 "95%CI" 4 "Treatment" 3 "95%CI")) ``` ![[Pasted image 20250318203215.png]] ## ログランク検定をする ログランク検定もできます。 ```stata sts test treatment ``` 結果は以下の通りです。 `Pr>chi2 = 0.0000` がログランク検定の結果です。 ```stata . sts test treatment Failure _d: event Analysis time _t: month Equality of survivor functions Log-rank test | Observed Expected treatment | events events ----------+------------------------- 0 | 12 4.06 1 | 11 18.94 ----------+------------------------- Total | 23 23.00 chi2(1) = 27.31 Pr>chi2 = 0.0000 ``` ## Cox比例ハザードモデルを行う `stcox treatment` をすることで Cox比例ハザードモデルでの解析も行えます。 ## 他のデータでも試してみよう もっと大きなデータのサンプルもあります。 `help stset` `help sts graph` をコマンド入力して Example のセクションに行くと、色々サンプルがのっています