如何在模型中使用某個變數定義效應列?大家好-
我快要瘋了,一直想不懂。我覺得答案在於 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 )
);
自動化和腳本編寫回覆:如何在模型中使用變數定義一次效應列?這可能有點棘手。以下是一種方法:
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 )
);
回覆:如何在模型中使用變數定義一次效應列?我不確定 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)
);
));
回覆:如何在模型中使用變數定義一次效應列?成功了——謝謝!