別の列の値で行をカウントする方法私はしばらくの間 JMP 12.0 を使用してきましたが、素晴らしいと感じています。 ただし、JMP を使用しているのは私だけのようで、残りの人は SPSS を使用しているため、助けていただければ幸いです。
以下に関する情報を入手したいと考えています。
C1 C2
タイトル 計算された順序
r1 外科医 1
r2 外科医 2
r3 外科医 3
r4住人1
r5の住人2
r6 インターン 1
r7 インターン 2
等
私の友人や同僚は SPSS を使用しており、そのプログラムに SPSS の C2 の値を計算する次の式を記述しています。
タイトル>LAG(タイトル)の場合に実行します。
計算順序 = 1。
終了したら。
タイトル=LAG(タイトル)の場合に実行します。
次数 = LAG(次数) + 1 を計算します。
場合は終了します。
実行する。
JMP で対応する数式を記述するにはどうすればよいですか?
誰かがその方法を説明できれば非常に素晴らしいです。
ラースビルガー
Re: JMP でパラメータの順序を反映した値を計算するにはどうすればよいですか。ご回答ありがとうございます。 これについては検討してみます。 同僚が彼の統計プログラム (SPSS) を手伝ってくれましたが、私は研究で JMP を継続的に使用しているので、これについては必ず検討します。
敬具
ラース
Re: JMP でパラメータの順序を反映した値を計算するにはどうすればよいですか。JMP 13 を使用している場合、Col Rank() 関数は行番号による同点分割をサポートしているため、求めている効果が得られます。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Rank within age",
Formula( Col Rank( 1, :age, <<TIE></TIE>
最初の引数はランク付けする値で、通常は別の列ですが、この場合はランク付けされた値は重要ではないため、定数 1 を使用しました。
Re: JMP でパラメータの順序を反映した値を計算するにはどうすればよいですか。こんにちは、ラース!
これは、サンプル データのビッグクラス データセットに対してあなたが求めていることを実行すると思われるスクリプトです。
Names Default To Here( 1 );
BC_dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
BCSorted_dt = BC_dt << Sort( By( :age, :sex, :height, :weight ), output table name("Big Class Sorted"));
BCSorted_dt << New Column( "Computed Order",
Numeric,
Ordinal,
Formula( If(row()==1 | :age!=Lag(:age, 1), 1, Lag(:Computed Order, 1)+1) ),
EvalFormula);
必要なのは数式だけの場合は、スクリプト内の Formula() 引数をコピーして数式エディタに貼り付けることができます。最初にデータを適切に並べ替えることを忘れないでください。
幸運を!