ループ内でパラメータを定義するこんにちは、
次のコードを使用して、私の表の「応答予測式」列に式を定義します。コードからわかるように、「調整」というパラメータが式に定義されています。さて、1パラメータの代わりに、tuning1、tuning2、... tuningkのような式でkパラメータを定義する必要があります。forループを使ってこれを行うことができる方法はありますか?私にお知らせください。ありがとうございます。
Eval(
Substitute(
Expr(
:Response Prediction Formula << set formula(tuning=1,b0=1,b1=1; b0+b1*f11)
:Response Prediction Formula << setFormula( Parameter( {tuning = initialValueTBD,b0 = 0,b1 = 1}, b0+b1*f11 ) ),
),
Expr(initialValueTBD), 1,
Expr(f11), evalexpr(f11)
)
);
再:ループ内のパラメータの定義それはうまくいきます!ありがとうDavid!:)
再:ループ内のパラメータの定義ループを使用してパラメータのリスト式を作成するコードの例を次に示します。これを式に挿入して式を設定します。
// build a list of tuning parameters
lstInitialTuningValues = {1,1,1,2,2}; // for example, 5 tuning params with these initial values
lstParams = {};
For (i=1,i<=NItems(lstInitialTuningValues),i++,
Eval(Parse(EvalInsert("\[
value = lstInitialTuningValues[i];
InsertInto(lstParams, Expr( tuning^i^=^value^ ) )
]\")));
);
show(lstParams); // verify the tuning params are defined correctly
// add the parameters b0,b1
InsertInto(lstParams,Expr(b0=1));
InsertInto(lstParams,Expr(b1=1));
show(lstParams); // final list of parameters
// set the formula ...
fml = "b0 + b1*f11";
str = Eval(Parse(EvalInsert("\[
:Response Prediction Formula << Set Formula( Parameter( ^lstParams^ , ^fml^ ) )
]\")));
これが結果です。
