列の負の値の数をすばやく取得する方法はありますか?こんにちは、みんな!
「到着遅延」列の負の数の数またはパーセンテージを数える必要があります。
この機能は、JMPのメニュー操作と数式には含まれていないようです。
Excelには=countif(、 "<0")があり、すばやく実行できます。
JMPはループを使用したいですか?
dt = Open( "$ SAMPLE_DATA / Airline Delays.jmp");

Re:列の負の値の数をすばやく取得する方法はありますか?dt = Open( "$ sample_data / Airline Delays.jmp");
s = As Constant(N Rows(Loc(dt [0、 "Arrival Delay"] <0))); Wait(0);
いい方法!!
Re:列の負の値の数をすばやく取得する方法はありますか?
JSLで使用しています。
具体的な指示をお願いします。
クレイジありがとう!Re:列の負の値の数をすばやく取得する方法はありますか?ジムの答えは素晴らしいです。列の作成を回避するが、異なる副作用を持つ2つがあります。
dt = Open( "$sample_data/big class.jmp" );
// using table subscripts, suitable for use in a column formula.
// As Constant calculates the result once, not for every row.
As Constant( N Rows( Loc( dt[0, "age"] < 15 ) ) ); // 27
// using row selection, suitable for JSL programs. Avoids a temporary
// matrix but does change the selection state of the table.
dt << selectwhere( age < 15 );
N Rows( dt << getselectedrows ); // 27
どちらを選択するかは、列式で使用するかJSLプログラムで使用するかによって少し異なります。 JMPは、コストのかかる計算を行う必要のある列式をサポートするために、(ほとんどの場合)定数関数を追加しました。 これがないと、JMPはすべての行の行数をカウントし、N^2のパフォーマンスの問題を引き起こします。
最初の例の説明:dt [0、 "age"]は、テーブルから行列を返します(役職)。 0はすべての行を意味します。 その行列を<15と比較すると、0と1の結果の行列が返されます。 Loc([1 0 1 0])は、ゼロ以外の(真の)結果の位置のより小さな行列を返します。 NRowsまたはNItemsは、要素の数を報告します。 変数に答えを取り込む場合、JSLプログラムでは定数は必要ありません。
Re:列の負の値の数をすばやく取得する方法はありますか?ジムありがとう!
それが唯一の方法のようです。Re:列の負の値の数をすばやく取得する方法はありますか?指定された式で変換変数を使用します
If(:到着遅延<0、1、0)
次に、SummaryPlatformの統計としてSumを使用します