1

JMP スクリプトを開始したばかりで、手動でループせずに一連の列に対して関数を実行するための構文を見つけるのに苦労しています。行全体で単純な sum() を実行しようとしていますが、最初の 5 列をスキップしたいと考えています。以下のコードのさまざまな配置を試しました。

dt1=open();
colSize=ncol(dt1);
Show(colSize);
dt1 << new column("is_empty",numeric, formula(isMissing(sum(/*column(5):colSize */)))),EvalFormula);

私は事前にリストを作成することにオープンですが、手動でループせずに動的にリストを作成する方法を見つけていません (最初の 5 列は常に同じですが、列の数/名前は異なります)。

4

1 に答える 1

0

Summation手動ループから削除された 1 つのステップだけでそれを行うことができます。

Local({c}, Summation( c = 6,  N Col(), Column( c )[Row()] ));

または、 を使用Get Column Namesしてすべての列を取得してから、範囲添字を使用して必要なサブセットを取得してから、 に渡すこともできますSum

Sum( (Current Data Table() << Get Column Names())[6 :: N Col()] );
于 2016-01-08T14:03:44.610 に答える