皆さん、こんにちは!大規模なデータセットで、以下のような表を自動化する簡単な方法はありますか?基本的に、各グループの人数と割合、そしてオッズ比と信頼区間を以下のように表示してデータを報告しています。
| |
合計n(%) |
生存者数(%) |
死亡者数(%) |
または(CI) |
| 女性 |
x (x%) |
x (x%) |
x (x%) |
x.xx (x.xx-x.xx) |
| 心臓病 |
x (x%) |
x (x%) |
x (x%) |
x.xx (x.xx-x.xx) |
これまではFit x by y関数を使ってオッズ比を追加し、分割表とオッズ比を見てWordに手入力して分析を行ってきました。Excelのtabulate関数を使えば、真ん中の3列を効率よく取得できるはずですが、ORを表にまとめる良い方法をご存知の方がいらっしゃいましたら教えていただけると嬉しいです。例えば以下のようなものでも構いませんが、特に統計を取りたい変数全てに対して実行できるスクリプトを作成できると助かります。
| |
または |
下位95% |
上位95% |
| 女性 |
x.xx |
x.xx |
x.xx |
| 心臓病 |
x.xx |
x.xx |
x.xx |
何かヒントやコツはありますか?JSL コードの使い方があまり得意ではないのですが、学習中です。
GUI を使用してレポート構造を調査し、スクリプトを使用して特定の情報を取得することを組み合わせて、JMP でレポートから情報を抽出する方法があります。
ステップ 1 は分析を行うことです。次に、必要な情報に最も近いヘッダー (下の赤いスペース) を右クリックし、[編集...ツリー構造を表示] を選択します。


ポップアップするウィンドウで、探している情報を見つけてから、階層内でそのすぐ上にあるヘッダーの名前を見つけます。 この場合、NumberColBox(8) はオッズ比を持っているため、スクリプトのステップで NumberColBox(8) を覚えておく必要があります。

ステップ 2 は、スクリプトを作成することです。 以下のスクリプトの最初の数行は、これが機能するファイルを開くためのものです。魔法は「レポート レイヤーのエクスポート」コメントから始まります。 基本的に、レポートのすべての階層のコピーを含む別のオブジェクトを作成し、その別のオブジェクトにクエリを実行して、必要なテキスト/番号を取得します。 以下のスクリプトでは、オッズ比をクリップボードに送信します。貼り付ける必要があるとのことでした。 スクリプトを使用して、値で他のことを行うこともできます。
Names Default To Here( 1 );
//open the data file and run analysis, including odds ratio
dt = Open( "$SAMPLE_DATA/Lung Cancer.jmp" );
obj = dt << Contingency( Y( :Lung Cancer ), X( :Smoker ), Freq( :Count ), Odds Ratio( 1 ) );
//export the report layer, so it can be queried
r = obj << report;
//from looking through the "Show Tree Structure" manually to find the number needed
oddsratio = r[NumberColBox(8)] << Get; //pulls a list of what in that NumberColBox
show(oddsratio[1]); //shows the first item in the list (the odds ratio)
Set Clipboard (round(oddsratio[1],3)); //copies rounded odds ratio to the clipboard for easy pasting
ここに素晴らしいリソースへのリンクがありますレポート レイヤーのスクリプト作成の詳細については、