Re: スクリプトの列スイッチャー関数は最初の変数のみを報告します質問が何であるか正確にはわかりません。 私の例は正常に動作しているようです (または、何か不足している可能性があります)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Job Satisfaction.jmp");
obj = dt << Fit Model(
Y(:Satisfaction_Avg),
Effects(
:Support_L, :Goal_L, :Work_L, :Interact_L, :Person_C,
:Interact_L * :Person_C
),
Personality( "Proportional Hazard" ),
Emphasis("Effect Leverage"),
Run(
:Satisfaction_Avg << {Summary of Fit(1), Analysis of Variance(1),
Parameter Estimates(1), Scaled Estimates(0), Plot Actual by Predicted(1),
Plot Regression(0), Plot Residual by Predicted(1),
Plot Studentized Residuals(0), Plot Effect Leverage(1),
Plot Residual by Normal Quantiles(0), Box Cox Y Transformation(0)}
)
);
col_switcher = obj << Column Switcher(
:Person_C,
{:Person_C, :Intra_C, :Inter_C, General_S}
);


Re: スクリプトの列スイッチャー関数は最初の変数のみを報告します補遺: Column Switcher 関数が、各変数で新しい効果の概要テーブルを生成することを期待していました。スクリプトは最初の変数でうまく機能し、列スイッチャーを手動でスクロールして他の変数を確認できます。リストを手動でスクロールする必要はありません。これは可能ですか?
Re: スクリプトの列スイッチャー関数は最初の変数のみを報告しますjthさん、早速のお返事ありがとうございます。あなたのスクリプトを私のものに組み込みましたが、同じ問題が発生しました。出力テーブルには、Two_Deoxyuridine の結果のみが含まれ、スイッチ リスト内の他の変数は含まれません。スクリプトを実行しましたが、期待どおりに動作します。
このスクリプトで間違っているアイデアはありますか?
アナベル
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :Two_Deoxyuridine_INT,
:APOE_INT * :Two_Deoxyuridine_INT
),
Personality( "Proportional Hazard" ),
Emphasis( "Effect Leverage" ),
Censor( :dth ),
Censor Code( "0" ),
Run(
:dthtt << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ), Plot Effect Leverage( 1 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 )}
)
);
ColumnSwitcherObject = obj << Column Switcher(
:Two_Deoxyuridine_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT,
:Two_Hydroxybutyric acid_INT, :Two_Hydroxyglutaric acid_INT,
:Two_ketoisovaleric acid_INT, :Three_Hydroxybutyric acid_INT, :Five_MTHF_INT, Re: スクリプトの列スイッチャー関数は最初の変数のみを報告します私は進歩しています!私の主な目的は、列を切り替えるたびに Effect Wald Test データ テーブルを取得することです。 最終的に、これらのテーブルを連結します。以下のコードは、列スイッチャーを自動的に開始し (これはログで確認できます)、Effect Wald Test データ テーブルを生成しますが、列スイッチャーの最初のエントリに対してのみです。切り替え時に各列から Effect Wald Test データ テーブルを取得する方法についてのアイデアはありますか?
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :One_5_Anhydroglucitol_INT,
:APOE_INT * :One_5_Anhydroglucitol_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run(
:dthtt << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ), Plot Effect Leverage( 1 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 )}
)
);
ColumnSwitcher = obj << Column Switcher(
:One_5_Anhydroglucitol_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT, :Dummy variable_INT}
);
pre = Function( {currentColumn, nextColumn, switcher},
Print(
"Before switch: " || (currentColumn << get name) || " >> " || (nextColumn << get name) ||
" [Column Switcher] current: " || (columnSwitcher << Get Current)
);
If( nextColumn << get name == "Dummy variable_INT",
0,
1
);
);
post = Function( {previousColumn, currentColumn, switcher},
Print(
"After switch: " || (previousColumn << get name) || " >> " || (currentColumn << get name) ||
" [Column Switcher] current: " || (columnSwitcher << Get Current)
)
);
columnSwitcher << Make Column Switch Handler( pre, post );
ColumnSwitcher << Set Script(
obj = Data Table( "MESA 2018Events_Exam2Main_Proteomics_Metabolomics_MARCH 13 2023" ) <<
Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :One_5_anhydroglucitol_INT,
:APOE_INT * :One_5_anhydroglucitol_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run( Likelihood Ratio Tests( 0 ) ),
Column Switcher(
:One_5_anhydroglucitol_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT, :Dummy variable_INT}
)
);
Report( obj )["Effect Wald Tests", Table Box( 1 )] << Make Into Data Table;
obj << Close Window;
);
ColumnSwitcher << Run;
Wait( 5/*seconds, while it animates*/ );Re: スクリプトの列スイッチャー関数は最初の変数のみを報告しますこんにちは
私は自分の問題を解決し、スクリプトが添付されています。ヒントの 1 つは、メイン テーブルにダミー変数列を配置し、列切り替えの最終変数の後に配置することです。これにより、列の切り替えが適切に機能するようになりました。私の次のステップは、すべての Effect Wald Tests データ テーブルを連結することですが、それは難しいことではないと思います。このスクリプトがコミュニティの他のユーザーに役立つことを願っています。
アナベル
Re: スクリプトの列スイッチャー関数は最初の変数のみを報告しますこんにちは、
連結されたデータ テーブルを提供する列スイッチャー関数の最終的なスクリプトを提供しました。テーブルを連結する方法について、JMP サポートから助けをもらいました。 これが他の人に役立つことを願っています。
アナベル
スクリプト内の列スイッチャー関数は最初の変数のみを報告しますこんにちは、
次のスクリプトは、スイッチング用の最初の変数 (Two_deoxyuridine) を含む 1 つの出力レポートを返しますが、スイッチ リスト内の他の変数は返しません。私は、Scripting Index、YouTube ビデオ、JMP コミュニティ、および Jump into JMP の章を読んで解決策を探しました。解決策はForループを挿入することでしょうか?JMP17を使用しています。
あらゆる助けに感謝します。
アナベル
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :age2c, :gender1, :APOE_INT, :Two_Deoxyuridine_INT,
:APOE_INT * :Two_Deoxyuridine_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run( Likelihood Ratio Tests( 0 ) )
);
ColumnSwitcherObject = obj << Column Switcher(
:Two_Deoxyuridine_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT}
);自動化とスクリプト作成品質およびプロセスエンジニアリング