Rのsource()関数の応用

統計解析プラットフォームとして広く使われており、プログラミング言語であるRにはsource(URL)という関数があります。Rのスクリプトをウェブサーバーにアップロードしておき、そのファイルのURLをsource()関数の引数として設定し、Rでそれを実行させると、ウェブサーバーからスクリプトが読み込まれて実行されます。

解析対象のデータはクリップボードにコピーしておいて、それをread.delim()関数で変数に読み込んで、その変数に対して処理を行うスクリプトを用意しておくことで、各自用意したデータを解析するシステムが作れます。解析したいデータはCSVファイルで用意して、それを読み込ませて解析する方法も可能です。

source()関数で読み込むRのスクリプトはウェブサーバーに置いてありますが、それを読み込んで実行させるスクリプトは各自のPCにインストールしたRで実行します。それを読み込んで実行させるスクリプトは、各自で保存しておくこともできますし、別のウェブページから提供することも可能です。useRsもそのようなウェブページのひとつですが、別の方法でも同じことが可能です。

例えば、メタアナリシスのさまざまなモデルに対応したスクリプトを用意して、ウェブページで選択して、実行させるというようなことができます。

システマティックレビューに必要なExcelシートを集め、メタアナリシスのためのRのスクリプトを含めたBookを作りました。2023_excel_book_for_sr_v.0.96.xlsxから自分の必要なシートをシートのタブを右クリックして、My SR Book.xlsxにコピーを追加し、目次のシートに各シートの名前を入力してそれらへのリンクを設定し、利用することができます。

リスク比、オッズ比、リスク差、ハザード比、平均値差、標準化平均値差 (RR, OR, RD, HR, MD, SMD)のメタアナリシスをRのmetaforパッケージで、診断精度研究のメタアナリシスをRのmadaパッケージを利用して実行します。Forest plotの作成にはRのforestplotパッケージを用いる場合もあります。Rをインストールし、必要なパッケージをRでインストールしてから使います。

Pictogram1000ff 正味の益とピクトグラム作成

益のアウトカムと害のアウトカムを最大10個まで設定可能で、絶対リスク=単一群のイベント数を1000人あたりの人数で設定し、アウトカムの重要性を0~100で設定して、対照群と介入群の正味の益の差を計算するとともに、ピクトグラムとイベント数の差およびアウトカムの重要性で重みづけしたイベント数の差をグラフ表示するウェブツールを作成しました。ベーラインリスクとRR, OR, HR, RDの値から介入群のイベント数を計算することもできます→https://sr.xrea.jp/tool/picto/pictogram1000ff.htm

COVID-19のステロイド全身投与に関するWHOの推奨のデータを用いた例がこちらです→https://sr.xrea.jp/tool/picto/covid-19-systemic-steroid-who.htm

アウトカムの重要性の値は個人で異なるので、いろいろ値を変更して正味の益がどう変わるか試すことができます。

相対効果指標から絶対効果を求める How to convert RR OR HR to RD

介入の効果は対照群と比較した相対的効果指標であるリスク比Risk Ratio (RR)、オッズ比Odds Ratio (OR)、生存分析の場合はハザード比Hazard Ratio (HR)で評価されることが一般的です。Risk Difference (RD)をメタアナリシスで統合することももちろんできますが、これらの効果指標が用いられることが多く、エビデンス総体の非一貫性の評価の際はRRまたはHRを用いることが望ましいとされています。ネットワークメタアナリシスではORが用いられることが多いようです。まずこれらの効果指標がどのように計算されるかを見ておきましょう。

図1.効果指標のタイプと計算法。
図2.イベント確率(割合)、ハザード率およびハザード比の関係。介入群のハザード率を対照群のハザード率で割り算するとハザード比が得られる。対照群のハザード率にハザード比を掛け算すると介入群のハザード率が得られる。

一方、望ましい効果(益)の大きさ、望ましくない効果(害)の大きさを異なるアウトカム間で比較するには、絶対効果を示すリスク差Risk Difference (RD)を用いる必要があります。RR, OR, HRでは同じ値であってもベースラインリスクが異なるとRDが異なるので、絶対効果の大きさは同じとはならず、そのまま比較することはできないことは明らかです。一方、RDは値が2倍になれば、2倍の人数の人が影響を受けることは明確です。

メタアナリシスでOR、RRあるいはHRを統合した場合、それらについて、エビデンスの確実性の評価をランダム化比較試験であれば、バイアスリスク、非直接性、不精確性、非一貫性、出版バイアスの5ドメインから評価します。その先、望ましい効果(益)、望ましくない効果(害)の大きさと、益と害のバランス=正味の益を評価するためには、絶対効果=RDを求める必要があります。そのため、GRADEアプローチではSummary-of-Findings (SoF)table結果のまとめ表では①相対効果指標と95%信頼区間、②対照群の絶対リスク、③介入群の絶対リスク、and/or、④絶対効果と95%信頼区間を記述することが求められています。相対効果指標と95%信頼区間はメタアナリシスから得られます。対照群の絶対リスクはメタアナリシスに含めた研究の対照群の総症例数から算出した値、疾患レジストリなど他のデータソースからの値、想定される高・中・低リスクの値を設定するなどが考えられます。

絶対効果はRR、OR、HRと対照群の絶対リスク=CER (Comparator Event Rate)から以下に示す方法で計算することができます。

図3.相対効果指標から絶対効果を求める。CER×(1-RR)で得られる絶対効果の値は、対照群の絶対リスク-介入群の絶対リスクに相当します。CER×(RR – 1)で得られる絶対効果の値は介入群の絶対リスク-対照群の絶対リスクの値になります。これら2つの値は正負が逆になりますが、絶対値は同じです。

ORからRRを計算する方法は図4に、HRからRRを計算する方法は図5に示す通りです。数式の形を変えるだけなので、単なる数学的な課題で、だれが考えても同じになります。

図4.ORからRDを計算する。ここに示すRDの計算は図3とは逆に、介入群の絶対リスク-対照群の絶対リスクを計算しています。
図5.HRからRDを計算する。ここに示すRDの計算は図3とは逆に、介入群の絶対リスク-対照群の絶対リスクを計算しています。

RDを計算する際に、介入群の絶対リスク-対照群の絶対リスクを計算する方が分かりやすいと思います。図4と図5、6は逆になっていますが、測定されるアウトカムが有害事象なのか有益事象なのかによってもどちらが分かりやすいかはまた変わってきます。

いろいろな考え方がありえますが、正味の益=益の大きさ-害の大きさで計算し、プラスの値であれば、正味の益が大きく、マイナスの値であれば正味の害が大きいというようにするためには、益のアウトカムには有益事象を測定し、害のアウトカムには有害事象を測定し、介入群の絶対リスク-対照群の絶対リスクを計算すると介入群の益が大きければ益はプラスの値、介入群の害が小さいと害はマイナスの値になり、正味の益=益の大きさ-害の大きさの計算ではプラスの値からマイナスの値を引き算するので、全体としてプラスが大きくなります。もし、介入群の害が対照群より大きい場合は、害はプラスの値になり、正味の益はその分引き算されて小さくなります。このような取り扱いが分かりやすいのではないかと思います。

アウトカムが有害事象か有益事象かに合わせてプラスマイナスを変えて計算し、RD=CER×(1-RR)ですべて計算する方法もあり得ます。その方が分かりやすい人もいると思います。また、グラフ化する際にはもう少し考慮すべき点がありますが、皆さんも考えてみて下さい。

そして、100人あたり、1000人あたり、10000人あたりの頻度人数にするには、RDにこれらの値を掛け算することになり、四捨五入するか切り捨てるかも決めておく必要があるでしょう。

Pictogram効果の大きさ・益‐害の大きさを図示する

治療の効果の大きさを直感的に理解してもらうには、数字より図で示した方がいいか?おそらく個人によって、数値の方が分かりやすい人と、グラフの方が分かりやすい人がいるでしょう。

2群を比較するランダム化比較試験あるいはそれらのメタアナリシスの結果からアウトカム毎に対照群の絶対リスク(イベント率;連続変数の場合は平均値)、介入群の絶対リスク、リスク差(連続変数の場合は平均値差)=絶対効果を提示された場合、どちらの治療を受けるのが最善かを決めてもらうために、どのような結果の提示方法がいいのか?

GRADEアプローチのSummary-of-Findings (SoF)tableにはこれらのデータと研究数、対象者数、リスク比、オッズ比、ハザード比などの相対効果指標とエビデンスの確実性が表形式でまとめられています。ひとつのアウトカムについて、これらのデータが提示されています。たとえば、COVID-19に関する推奨を集積しているサイトCOVID19 Recommendations (https://covid19.recmap.org/)のWHOのステロイド全身投与に関する推奨のページを見ると、Interactive Summary of Findingsの項に9つのアウトカムに対する効果がまとめられており、例えば、28日までのMortalityは1000人中160人の死亡が126人に減り、34人(48~16人)少なくなる、リスク比0.79 (0.7-0.9)、エビデンスの確実性はModerateと記されています。

高血糖は1000人中46人増加、高ナトリウム血症は同じく26人増加。その他のアウトカムについてもデータが提示されています。これら複数のアウトカムに対する効果を益も害も含めてまとめて、正味の益がどれくらいなのかを評価することはなかなか難しい作業です。

特に益と害の大きさは、アウトカムの重要性=患者の価値観によって変わってくるうえ、主観的なものなので同一人物でも別の機会に同じ評価をするかどうかわかりません。そもそもアウトカムの重要性を数値として表すことができても、本当にその個人の価値観を正確にとらえられたかもわかりません。つまり、アウトカムの重要性にさまざまな値を設定して、どちらの治療が正味の益が大きいかをいろいろ試したうえで、決めることが必要になるでしょう。Shared Decision Makingを如何に科学的に行うかという観点からも考える必要があります。

図1. 成人の急性虫垂炎の抗菌薬投与による保存的治療と外科的虫垂切除の比較。4つのアウトカムを設定。

複数のアウトカムに対する介入の効果をイベント数からPictogramで示し、各アウトカムの重要性で重みづけした場合のイベント数の総和、正味の益Net benefitを計算するウェブページを作ってみました。同時に、アウトカム毎のアウトカムの重要性で未調整の場合と調整済みのイベント数を棒グラフで示すようにしました。図1に一つの例を示します。(現在の所、二値変数アウトカムだけが対象で、益のアウトカム4つ、害のアウトカム4つまで取り扱えます)。→Link

アウトカムの重要性は最も重要なアウトカムの場合100とし、それに対して相対的な重要性を数値で設定します。したがって、調整済みのイベント数は、最も重要なアウトカムに換算した人数になります。例えば、重要性を50と設定したアウトカムが2人で起きていた場合、重要なアウトカムであれば1人で起きたのと同じとみなすことになります。最も重要なアウトカムを1.0、中等度に重要なアウトカムに0.5、重要でないアウトカムに0という値を設定することもできます。もし、このような値を設定するとGail/NCIの方法で提案されている重みづけと同じになります。

また、アウトカムが重複して起きることに対しての調整はしていません。一人に2つのアウトカムが生起しても2人にそれぞれのアウトカムが生起した場合と同じ扱いになります。なお、それが、2つの介入の比較で問題になるケースを想定することはなかなか困難だと思います。

重要なアウトカムは一つ目に設定すようにしてありますが、それ以外のアウトカムを最重要として、そこに100を設定しても問題ありません。設定されているOutcome Valueの値から最大値を見つけ出すようにプログラムしてありますので、どのアウトカムが最大値でも、それを基準に計算を行います。なお、入力後、値を保持したHTMLファイルとしてダウンロード、保存できますが、JavaScriptのプログラムであり、ローカルのファイルを開いて作業する際はインターネット接続の環境でないと動きません。

図1の急性虫垂炎の例はこちらのLinkです。やはり、図示するだけで、理解しやすくなるというわけではないです。確かなことは、複数のアウトカムに対する介入の効果をまとめて、全体として十分な益(望ましい効果)が得られるかを知るには、計算しないとわからないということでしょう。Outcome Valueの値をいろいろ変えて結果がどうなるか試してみて下さい。

詳しい解説はまた別の機会に。明日から、新しい年、2023年が始まります。I wish you a happy new year.

文献:
•McNutt, Robert Alan. Your Health, Your Decisions: How to Work with Your Doctor to Become a Knowledge-Powered Patient. 2016, The University of North Carolina Press. →Amazon
•Gail MH, Costantino JP, Bryant J, Croyle R, Freedman L, Helzlsouer K, Vogel V: Weighing the risks and benefits of tamoxifen treatment for preventing breast cancer. J Natl Cancer Inst 1999;91:1829-46. PMID: 10547390
•Marsh K, Goetghebeur M, Thokala P: Multi-criteria decision analysis to support healthcare decisions. Springer, 2017. →Amazon