モデルで使用するために、効果列を一度変数に定義するにはどうすればよいですか?やあみんな-
これを解明しようと必死になっているのですが、どうしたらいいのか全く分かりません。Eval()とExpr()の魔法のような組み合わせに答えがあると思うのですが、どうしても分かりません。
スクリプトの冒頭で定義し、モデル効果として使用するために参照したい列のリストがあります(下記参照)。モデルにこのリストを効果として使用する列のリストとして認識させるにはどうすればよいでしょうか? よろしくお願いいたします。
JMP 19.1.0
dt = Current Data Table();
effect_list = {:run date, :reader, :sample bank, :plate dispense system, :dil_2_bot cap, :dil_2_bottle, :dil_2_nacl, :dil_2_proclin};
Local( {obj},
obj = dt << Fit Model(
Y( :manual result 34.2),
Effects( effect_list),
Target Level( "neg" ),
Personality( "Nominal Logistic" ),
Run( Likelihood Ratio Tests( 1 ), Wald Tests( 0 ) ),
By( :genotype )
);
自動化とスクリプト作成Re: モデルで使用するために、効果列を一度変数に定義するにはどうすればよいですか?これは難しいかもしれません。以下にその方法の一つを示します。
effect_list = {:run date, :reader, :sample bank, :plate dispense system, :dil_2_bot cap, :dil_2_bottle, :dil_2_nacl, :dil_2_proclin};
eff_expr=expr(Effects());
for each({effect, i}, effect_list,
Insert Into(eff_expr, name expr(effect))
);
Substitute(
Expr(Fit Model(
Y( :manual result 34.2 ),
EEE,
Target Level( "neg" ),
Personality( "Nominal Logistic" ),
Run( Likelihood Ratio Tests( 1 ), Wald Tests( 0 ) ),
By( :genotype )
)),
Expr( EEE ), Name Expr( eff_expr )
);
Re: モデルで使用するために、効果列を一度変数に定義するにはどうすればよいですか?Fit Model が Effects({columns}) と連携するかどうかはわかりませんが (一部のプラットフォームでは連携します)、リストを削除する方が安全です -> Effects の部分を式として構築できます。
もう一つの選択肢があります
dt = Current Data Table();
effect_list = {:run date, :reader, :sample bank, :plate dispense system, :dil_2_bot cap, :dil_2_bottle,
:dil_2_nacl, :dil_2_proclin};
effect_expr = Substitute(effect_list, List(), Expr(Effects))
obj = Eval(EvalExpr(
dt << Fit Model(
Y(:manual result 34.2),
Expr(NameExpr(effect_expr)),
Target Level("neg"),
Personality("Nominal Logistic"),
Run(Likelihood Ratio Tests(1), Wald Tests(0)),
By(:genotype)
);
));
Re: モデルで使用するために、効果列を一度変数に定義するにはどうすればよいですか?うまくいきました!ありがとうございます!