JSLを使用して、列の行数に応じて行数を除外するにはどうすればよいですか?たとえば、Aを使用して、年齢が7に等しい行の数を除外します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

スクリプティングRe:JSLを使用して、列の行数に応じて行数を除外するにはどうすればよいですか?関数ColNumber()は、指定された列の数を計算します
col number(:height )
欠落していない値である列:Heightの行数をカウントするため、データテーブルBig Classの例では、値40が返されます。
Col Number()関数には、複数の値を渡すことができます。最初の値は欠落していない値の数をカウントするための列であり、2番目からn個の追加の列は「グループ別」列です。
col number(:Height, :age )
上記の関数呼び出しは、:ageの現在の値の行の:Heightの欠落していない値の数を計算します。したがって、データテーブルの行1の場合、関数は、:Age値が12の行の:Heightの欠落していない値のみをカウントします。値8を返します。 行9に関しては、ageの値は13であり、Age値が13の行の:Heightの欠落していない値の数は7です。
しかし、なぜ:Heightの欠落していない値の数を数えているのですか。私たち以外の理由で、欠測値がないため、適切なカウントが返されます。どの数値列にも欠測値がないため、実際には任意の数値列を使用できます。
最初は、このような関数呼び出しを指定するつもりでした
col number(:age, :age )
しかし、:Ageを2回使用すると混乱するだろうと思ったので、:Heightに変更しました。
Re:JSLを使用して、列の行数に応じて行数を除外するにはどうすればよいですか?ジムありがとう!
dt << select where( Col Number( :height, :age ) == 7 );
dt << select where( Col Number( :weight, :age ) == 7 );
効果は同じですb utこの変更は機能しません:
dt << select where( Col Number( :age ) == 7 );
原理を理解していない。
Re:JSLを使用して、列の行数に応じて行数を除外するにはどうすればよいですか?これを行う1つの方法があります
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
dt << select where( col number(:height, :age) == 7);
dt7 = dt << subset( selected rows(1), selected columns(0));