【統計ソフトR】で尤度比のノモグラム(Fagan)を画像出力する方法

尤度比についてはこちら

|この記事は医療職の方向けですこの記事では,尤度比(ゆうどひ)とは何か?医療現場ではどのように使われるのか?という点についてまとめます。本項のまとめ陽性尤度比:有病者が無病者と比べ何倍検査陽性になりやすいかという比陰性[…]

この記事では,〈尤度比〉likelihood ratio の感覚を理解するのに極めて有用なツールである Fagan’s nomogram を無料統計ソフトの「R」で画像出力(▼)する手法をまとめます。

Fagan TJ. Nomogram for Bayes theorem. NEJM 1975; 293(5): 257-61. [PMID:1143310]

「R」を一度も触ったことがない人でも,5分程度で簡単にできてしまうので,是非トライしてみてください。

手順は以下になります。

手順

  1. R を PC にインストールする
  2. R にパッケージをインストールする
  3. インストールしたパッケージを読み出す
  4. 関数をコマンド入力

では順に見ていきましょう!

Rをインストール済みの方は,② からで OK です

R を PC にインストールする

まだ R を PC に導入していない人は,まず公式サイトで無料公開されている「R」をダウンロード&インストールしてください。

https://cran.ism.ac.jp/

この公式ページに行くと,「Download and Install R」と書かれたセルの中に

  • Download R for Linux
  • Download R for macOS
  • Download R for Windows

というところがあるので,使用しているパソコンの OS に合致したものをクリックしてください。

次のページでは,素直に最新版のバージョンのものをクリックすればダウンロードが始まります。

ダウンロードしたファイルをダブルクリックすればインストールが始まります。インストーラーは日本語も対応しています。

R にパッケージをインストールする

R をインストールしたら,早速 R を立ち上げます(▼)。

Fagan のノモグラムを描出する関数は “TeachingDemos” というパッケージの中に用意されていますので,このパッケージを R に導入する必要があります。これも,秒で可能です。

R を立ち上げたら,

> install.packages("TeachingDemos") 

と入力して Enter。

─このセッションで使うために,CRAN のミラーサイトを選んでください─

というコメントが表示されて〈Secure CRAN mirrors〉というウインドウが立ち上がるので,

Japan (Tokyo) [https]

を選択します(※どれでもいいですが,日本回線の場合は素直にコレにします)。

これだけです。

あとは自動的にパッケージのインストールが進むので,ひたすら待ちます。

これでパッケージを R に導入できました。

パッケージを読み出す

導入したパッケージの中の関数を R の中で使えるようにするためには,一度そのパッケージを呼び出す必要があります。そのため

> library(TeachingDemos)

と入力し Enter します。

以上で準備は完了です。 “TeachingDemos” パッケージ中の関数が自由に使える状態になりました。

この library(TeachingDemos) と入力するプロセスは, R を立ち上げるたびに必要です。なお大文字・小文字は別の文字として認識されるため注意してください。
─ ads ─

関数をコマンド入力

あとは関数を入力するだけです。

“TeachingDemos” パッケージの中で,Fagan’s nomogram を描出する関数は

> fagan.plot(x,y)   # x = 事前確率, y = 尤度比 

です。 たとえば

> fagan.plot(0.5, 20)

と入力すれば,事前確率 50 %,尤度比 20 の状況でのノモグラムと事後確率が描出されます(▼)。

また,

> fagan.plot(0.5, 0.21)

と入力すれば,事前確率 50 %,尤度比 0.21 の状況でのノモグラムと事後確率が描出されます(▼)。

このように Fagan’s nomogram で何パターンか出力していると,だいたい数字の感覚が掴めてくる‥かもしれません。

たとえば尤度比1を入力していただくと,事前確率がなんであれ,事後確率が変化せず,無意味な検査であることが視覚的にもよくわかります。また,事前確率が 10 %(0.1) しかないと,尤度比の高い検査(たとえば 10 )で結果が陽性でも,事後確率はまだ 50 % 程度です。

極端な事前確率であれば検査はしないハズ

なお余談ですが,現実には事前確率が 10 % を切る場合や 90 % を上回る場合に追加検査をする必要はありません。

普通はその時点で「ほぼ除外」あるいは「ほぼ確定」と考えるからです。

ちょうどよいのが,事前確率が 30 % 〜 70 % 程度と見込まれ,臨床判断が分かれるような状況です。

そういうときこそ,尤度比が十分に高い(あるいは低い)検査を用いることで,事後確率を十分に高める(あるいは低くする)ことが必要になります(▼図の緑斜線内)。

このあたりも踏まえつつ,尤度比に親しみをもって関われるようになりたいものです。

疾患の重篤度によっては,10%でもまだ確率が高いと考え,さらなる除外(確率を数 % 未満にする)ため陰性尤度比の低い検査を重ねることはありえます。閾値は疾患次第で大きく変わります。

まとめ

R を立ち上げたら入力するコマンド:

> install.packages("TeachingDemos") #パッケージ導入
> library(TeachingDemos) #パッケージ読み出し
> fagan.plot(0.5, 20) # 事前確率 50 % 尤度比 20

入力するコマンドは上記の3行のみで,非常に簡単です。

ぜひ,色々な組み合わせを入力して遊んでみてください。

[おすすめ本紹介]

User’s Guides to the Medical Literature


EBMを学ぶにあたり 1 冊だけ選ぶとしたら間違いなくコレ,という一冊です。著者 Gordon Guyatt 先生は「EBM」という言葉を作った張本人。かなり網羅性が高く分厚い本ですが,気軽に持ち歩ける Kindle 版はオススメです。邦訳版もあります。

医学文献ユーザーズガイド 第3版


表紙が全然違いますが「User’s Guides to the Medical Literature (JAMA)」の邦訳版です。一生言い続けますが,EBMと言えばこの1冊です。唯一の欠点は,Kindle版がないこと(英語版はある)と,和訳が気になる部分が結構あること。2つでした。原著とセットで手に入れると最強の気分を味わえます。

─ ads ─
>医療統計の解説チャンネル

医療統計の解説チャンネル

スキマ時間で「まるきりゼロから」医療統計の基本事項を解説していく Youtube チャンネルを 2 人で共同運営しています。

CTR IMG