JavaScriptには自然対数関数log()、eの指数関数exp()、平方根sqrt()などの数学の関数を含むMathライブラリがあり、P値を求めたりZ値やt値を求める関数があるjStatという統計解析に必要な関数のライブラリがあります。これらの関数を用いることで、さまざまな統計解析ができます。
また、HTMLのcanvasオブジェクトを用いて、グラフの作成ができます。Forest plot、Funnel plotの描画に使えます。
従って、メタアナリシスをJavaScriptだけで実行することができます。
Excelでメタアナリシスに必要なデータを用意し、ファイルをドラグアンドドロップして、メタアナリシスを実行するウェブツールを作成しました。Forest plot、Prediction Intervalを含むForest plot、Funnel plotを作成します。
Excelシートのデータ形式は、Mindsシートとlabelのカラムを含む2種類に対応します。それらの例を含むExcelファイルはこちらから右クリックしてダウンロードできます(ポップアップメニューから名前を付けてリンクを保存を選択します)。
メタアナリシスは分散逆数法でランダム効果モデルを用い、研究間の分散の計算はRestricted Maximum Likelihood (REML)法を用いています。
Excel sheets to Meta-analysis with Prediction Interval: Web tool by JavaScript
URL: https://stat.zanet.biz/sr/drop_ex_js.htm

Excelファイルを右のDrag and Drop your Excel.xlsx file hereのパネルにドラグアンドドロップして、その上のドロップダウンメニューのシート名の一覧から対象のデータを含むシートを選択し、Do Meta-analysisボタンをクリックします。


Do Meta-analysisボタンをクリックして結果が出力された直後の時点では、各研究の効果指標の値と95%信頼区間、統合値の値と95%信頼区間および95%予測区間Prediction Intervalの値がクリップボードに格納されているので、Excelなどに貼り付けて利用できます。
3つの画像のパネルは重なって表示されますが、移動可能です。各画像のパネルを右クリックしてコピーしたり、ファイルとして保存したりできます。また、数値データは上のテキストエリアに出力されるので、Copy to ClipboardボタンをクリックしてExcelなどに貼り付けます。
ドロップダウンメニューから別のシートを選択して、Do Meta-analysisボタンをクリックするとその結果が出力されデータが置き換えられます。
Prediction Intervalの計算はt分布に基づいていますので、tau2が0でも正規分布に基づいて計算している信頼区間と異なる値になります。結果はmetaforあるいはmetaと、同じモデルを用いた場合、同じであることを確認しています。取り扱える効果指標はRR, OR, RD, HR, MD, SMDです。
JavaScriptのコードはdrop_ex_jsとして、GitHubに公開しました。
https://github.com/tmorizane/drop_ex_js.git
著者が作成したのは、
drop_ex_js.htm
drop_ex_js.js
meta-an2-js.js
meta-an2-pi.js
です。
以下のJavaScriptのライブラリを用いています。jStat https://github.com/jstat/jstat.git
Math.js https://mathjs.org/
xlsx.full.min.js https://www.cdnpkg.com/xlsx/file/xlsx.full.min.js/?id=78603
jquery.min.js, jquery-ui.min.js https://jquery.com/download/