統計ブログはじめました!

各専門分野の統計技術、方法、テクニックなどを気ままに分かり易く例題をもとに解説します。

統計のコツのこつ(67)

2018-04-30 17:54:20 | 日記・エッセイ・コラム
情報統計研究所編の「すぐに役立つ統計のコツ」(オーム社刊)について、補足的な意味合いで投稿して参りました。
「統計のコツのこつ」は本稿で最終となりますが、トータル閲覧数7万PV以上(2018.4.30現在)を頂きありがとう御座います。
それでは、最終章「第8章 イベント・ヒストリー分析:生存時間(率)」の139ページを開いて下さい。
ここでは
コックス比例ハザード・モデルについて、「R」での方法をご紹介します。
例題は、
統計学入門(杉本典夫 先生)の下記URLから、
http://www.snap-tck.com/room04/c01/stat/stat11/stat1103.html
 
「11.3 多変量生命表解析 (1) 多変量生命表解析」の「表11.3.1 腫瘍患者の術後生存期間」を引用させて頂きます。
詳しくは、上記Webサイトの「第11章:11.4 比例ハザードモデル」をご一読下さい。
 
「R」での方法:
「表11.3.1:腫瘍患者の術後生存期間」を表1の様に少しだけ編集しておきます。
 
表1 コックス分析用データ
 
 
重症度は「症状無=0、軽症=1、重症=2」、転帰は「死亡=1、その他=0」としています。
 
*****
「R」プログラム
# R Console に次のように書いておく。
dat<- read.delim("clipboard", header=T)
 
# 新しいスクリプトを開き、Rエディタに以下の様に書く。
head(dat) # データの確認
 
library(survival)
cox.fit<- coxph(Surv(観察期間, 転帰) ~ factor(治療) + factor(重症度) , data=dat)
summary(cox.fit) # Summaryが表示される
library(rms) # 事前にパッケージ(rms)をインストールしておく。
new.fit<- survfit(cox.fit)
surv.fit <- npsurv(Surv(観察期間, 転帰) ~ factor(治療) + factor(重症度), data = dat)
class(surv.fit)
survplot(surv.fit, conf = "none", lty = c(1:6), col = c(1:6), label.curves = T)
 
# Rエディタを選択→編集→全てを実行で下記の内容が出力されます。
 
出力結果:
図1 survplot の出力結果
 
 
ラベルが重なって見にくいので「label.curves = F」とし、描画後に編集したものですので、実際の出力図とは異なります。
*****
 
本稿を終えるに当たり、データの引用や貴重なコメントを頂きました杉本典夫先生に深甚なる謝意を表すると共に、多くの閲覧者に感謝いたします。
 
 
 
次回以降は未定です。
 
情報統計研究所はここから!

統計のコツのこつ(66)

2018-04-20 13:11:09 | 日記・エッセイ・コラム
大分、間が空きましたが、一段落しましたので投稿します。
いよいよ、
「すぐに役立つ統計のコツ」(オーム社刊)の最終章「イベント・ヒストリー分析:生存時間(率)」となりました。
*****
本書の立読みサイト:
http://www.e-hon.ne.jp/bec/SA/Detail?refShinCode=0100000000000033365048&Action_id=121&Sza_id=B0
*****
 
では早速、例題を使って生存率の分析をご紹介したいと思います。
 
例題は、最早、おなじみの「統計学入門」(杉本典夫 先生)から引用させて頂きます。
 
*****
第11章 生命表解析
http://www.snap-tck.com/room04/c01/stat/stat11/stat1101.html
*****
 
上記の「表11.1.1 腫瘍患者の術後生存期間」のデータを用いますが、便宜上、表1の様に、転帰を「1=死亡、0=その他」としておきます。
 
表1 分析用データ
 
「すぐに役立つ統計のコツ」ではカプラン・マイヤー法を Excelで紹介していますが、ここでは、最初に「R」での方法をご紹介しましょう。
 
*****
dat<- read.delim("clipboard", header=T)
head(dat)
library(survival) # 事前にパッケージをインストールしておくこと.
fit<- survfit(Surv(観察期間, 転帰 == 1)~ 手術法, data=dat)
summary(fit)
Surv(dat$観察期間, dat$転帰)
plot(fit, mark.t=T, lty=1:2)
legend(x=40, y=0.8, legend=c("A群","B群"), lty=1:2)
 
出力結果:
表2 summary の出力
 
 
図1 カプラン・マイヤー法による生存曲線
*****
 
「R」を用いると簡単ですが、
生存率の計算方法を「統計学入門」(杉本典夫 先生)で知っておいて欲しいと思います。
しかし、
筆算は少々面倒だと思われるなら、情報統計研究所のトップページにアクセスして下さい。
 
http://kstat.sakura.ne.jp/
 
HPトップページから、

・本書の例題(データ)はここからダウンロードできます→[Excel Samples]をクリック
・[Excel Samples(3):表8.1~表8.11]を右クリックし、対象をファイルに保存を選んで任意のホルダーに保存して下さい。
・「Excel Samples(3).xlsx」を開き、
・本書(132p)の要領でSheet名「表2」「表3」を使い下記(表3、表4)の様に入力して下さい。
 
コピー&ペーストでもかまいません。
 
表4 手術法Aのデータ
 
 
表5 手術法Bのデータ
 
 
Excel のA列・B列・C列にのみデータを入力すればカプラン・マイヤーの結果が得られます。
 
次に、
「R」で次の様に実行すれば手術法A群とB群のログランク検定を行うことが出来ます。
 
*****
survdiff(Surv(観察期間, 転帰 == 1)~ 手術法, rho=0, data=dat)  # ログランクはrho=0(デフォルト)とする。 
 
出力結果:
表7 ログランク・テストの結果
 
*****
 
次回で最終回となります。
 
情報統計研究所はここから!