観測数が異なる複数のケースのための勾配計算と編集こんにちは、
線形勾配計算のトピックについては以前に説明したことはわかっていますが、一連のケースに対してスロープの表形式の出力を作成するための効率的な方法を見つけることができませんでした。私は時間の関数としてさまざまな数の観察をしています。
これがデータのスクリーンショットです(モック。実際のファイルは添付されています)。
Mock data for SLOPE calculationSLOPE計算用のモックデータ
このボードでのこれまでの議論のアドバイスに従って、By変数としてPatient_IDを使用し、切片を0に拘束した線形フィットをプロットして、YによるX(時間による測定の変更)のフィットを使用しました。
出力:5つの分析は以下の分析と同じです。

私が立ち往生しているのは、どのようにEstimate of the Slopeを新しいテーブルに集めるかです。
| 患者ID | スロープ |
| AAA | m1 |
| BBB | M2 |
| CCC | 立方メートル |
| DDD | m4 |
| EEE | m5 |
どんな提案でも歓迎します:私はオリジナルのデータフォーマットや分析方法にこだわっていません。
ありがとう
観測値の数が異なる複数のケースに対するRe:勾配の計算と編集ツリー構造とJMPのバージョンを確認してください。 私のコードはJMP 11.2.1、12.2.0および13.1.0で動作します。 あるバージョンから別のバージョンに移行するときに、基礎となる構造に違いがあることがあります。 あなたが数の欄に規則的なパターン(例えば、7、22、37、52、67)を見るならば、あなたはそれをループに組み入れることができます。
観測値の数が異なる複数のケースに対するRe:勾配の計算と編集スクリプトでも、いくつかの異なる手法を使用して見積もりを抽出できます。一般的な反復アプローチは、Byグループのために面倒ですが、ブルートフォースしかない場合は単純明快になることがあります。より洗練された解決策は、レポート表示ツリーで単一のXPathクエリを使用して、すべての傾斜をベクトルとして取得することです。正確な構文を調べる時間は今のところありませんが、それは簡単です。詳細は別にしておきます。このようなもの:
plat << XPath( "//NumberColBox[NumberColBoxHeader=\!"Estimate\!"]" ) << Get( 2 );
観測値の数が異なる複数のケースに対するRe:勾配の計算と編集ありがとう:私はいつもこの非常にきれいな機能について忘れています
観測値の数が異なる複数のケースに対するRe:勾配の計算と編集こんにちは、
迅速な回答いただきありがとうございます。NumberColBox(7)は最初のプロットに対してのみ機能するため、マルチプロットレポートからのparameter_estimateの「検索」が機能しないことを除いて、私が探していたものです。対応するNumberColBox 23、37など。
NumberColBoxの呼び出しを繰り返す方法がわかりません。
何かご意見は?
ありがとう
TS
観測値の数が異なる複数のケースに対するRe:勾配の計算と編集あなたは発見しましたによって役割グループは、個別の回帰分析のためにデータをグループ化します。(赤い三角形をクリックしてフィットラインコマンドを選択する前に、Ctrlキーを押したままにしておくことをお勧めします。)次に、Parameter Estimatesテーブルを右クリックし、Make Combined Data Tableを選択します。
観測値の数が異なる複数のケースに対するRe:勾配の計算と編集このコードはうまくいくでしょう。 「秘密」は、レポートに変換された、出力の基礎となるツリー構造を調べることです。
dt = data table("SLOPE_Calculation_mock_data");
bv = dt << Bivariate(
Y( :Change in Measure ),
X( :Time ),
Fit Line( {Line Color( {213, 72, 87} )} ),
By( :Patient_ID )
);
// Figure out how many patients there are
dtab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :Patient_ID ) ) ),
invisible
);
pdt = dtab << Make Into Data Table;
np = nrows(pdt);
patient_list = pdt:Patient_ID << get values;
dtab << close window;
pdt << new column("Slope", numeric, continuous);
bvrep = bv << report;
//bvrep << show tree structure; // Used to get underlying structure
for (i = 1, i <= np, i++,
parameter_estimates = bvrep[i][numbercolbox(7)] << get;
one_slope = parameter_estimates[2];
pdt:Slope[i] = one_slope;
);