数式で列のリストを使用する列ダイアログから返された列リスト (例: {:sex, :age: name}) を直接使用しようとしたときに、「問題」が発生しました。 byVars を使用してそのリストを Col 式 (Col Mean、Col Sum...) で直接使用しようとすると、式は正しく機能しません。 Sum() 式などでリストを使用すると、正常に機能します。 これは意図された動作でしょうか。また、以下の例よりも列のリストから Col Sum を構築するよりクリーンな方法を持っている人はいますか?
以下は、Sum() および ColSum() 式を使用したスクリプトの例です。 ColSum() 式を構築しようとしたいくつかの異なる方法がありますが、式と EvalParse を使用して Insert Into を使用する場合にのみそれらを機能させることができました (デバッグが面倒なので避けようとします)。
例:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Sum", Numeric, "Continuous", Format("Best", 12), Formula(Sum(:height, :weight)));
listOfCols = {:height, :weight}; //list works here
dt << New Column("SumList", <<FORMULA></FORMULA>
高度な統計モデリング自動化とスクリプト作成データのブレンディングとクリーンアップ実験計画法品質およびプロセスエンジニアリングRe: 数式で列のリストを使用する再び JMP Discovery Summit の専門家に会いましょう! に飛びました自動化と顧客のブレークアウト ルームのスクリプト作成と@EvanMcorkle私のループ挿入と評価解析よりもはるかにクリーンなソリューションがありました。 s listOfCols の周囲の List を ColSum に置き換えます。
listOfCols = {:height, :age, :sex}; //won't work here
f = Substitute(listOfCols, Expr(list), Expr(ColSum));
Show(f); //f = ColSum(:height, :age, :sex);Col Sum() 関数が列のリストで機能するかどうかはわかりませんが、この解決策はクリーンでシンプルです。
Re: 数式で列のリストを使用するこんにちは@jthi 、
これが意図されているかどうかはわかりませんが、リストの大括弧、{}、およびリスト内の項目数に関連していることは間違いありません。 あなたが説明したのと同じ問題を再現できました。
Insert Intoを実行するソリューションが最良の選択だと思います。 解析は非常に複雑で困難になる場合があります。 Insert Into に関する良い解決策があると思います。リスト括弧の問題を回避するには、それを使用するのが最善です。
DS