列名リストに基づいた数式列の追加やあ!列名に正しいキーワードが含まれているかどうかに基づいて数式列を生成するスクリプトを作成しようとしています。リストが文字列を他の関数に変換する方法を誤って使用していると思います。現在JMP17を使用しています
Ptable = Current Data Table ();
col list = Ptable << Get Column Names(String);
if(debug == 1, Print(col list));
For(i=1, i<NCOLS></NCOLS>
<LINGO-LABS id="lingo-labs-724835" slang="en-US" mode="CREATE"><LINGO-LABEL>自動化とスクリプト作成</LINGO-LABEL></LINGO-LABS>Re: 列名リストに基づいて数式列を追加するそこで列を正しく評価する必要があります。 Expr(NameExpr(AsColumn())) はオプションの 1 つです
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
mycol1 = "height";
mycol2 = "weight";
Eval(EvalExpr(
new_col = dt << New Column("Col", numeric, continuous, formula(
Expr(NameExpr(AsColumn(dt, mycol1))) * Expr(NameExpr(AsColumn(dt, mycol2)))
))
));
show(new_col << get formula);
Eval Insert、Eval Expr、Parse、Substitute を使用して、ある式を別の式に挿入する
Re: 列名リストに基づいて数式列を追加する気にしないでください!問題は、配列 clist が列名をリストに取り込んでいないことにありました。
@jthi列名を指定するにはExpression Evalも必要ですか?共有いただいたページには、Char(Array[#])を使ったConcatは問題なく動作することが示されていましたが、列名を変更しようとするとエラーが発生します。以下のコードをご覧ください。列を追加していないので、N列とForループ内のカウンターが一致しない理由がわかりません。
clist = Ptable << Get Column Names( String );
num_col = N Cols(Ptable);
For(i=3, i < num_col, i++,
Column(i) << Set Name(Char(clist[i]) || " °C"); //Error on this line
);
「'clist[ /*###*/i]'、clist[/*###*/i]のアクセスまたは評価における添字の範囲」