如何根據另一列中的值計算行數我使用 JMP 12.0 一段時間了,發現它非常棒。 然而,有一個問題,我希望得到一些幫助,因為我似乎是唯一使用 JMP 的人,而其他人則使用 SPSS。
我想獲得有關以下方面的一些信息:
C1 C2
標題 計算順序
r1 外科醫生 1
r2外科醫生2
r3外科醫生3
r4 居民 1
r5 居民 2
r6 實習生 1
r7實習生2
ETC。
我的一個朋友兼同事使用 SPSS,並在該程序中編寫了以下公式,用於計算 SPSS 中 C2 的值。
如果標題>LAG(標題),則執行此操作。
計算階數=1。
萬一。
如果 Title=LAG(Title) 則執行此操作。
計算階數=LAG(階數)+1。
萬一。
執行。
如何在JMP中寫出相應的公式?
如果有人能解釋如何做,那就太好了。
拉斯·伯傑
回复:如何使 JMP 計算反映參數順序的值。謝謝您的回答。 我會調查一下。 一位同事幫助我使用了他的統計程序 (SPSS),但我肯定會研究這個,因為我一直在使用 JMP 進行研究。
您忠誠的
拉爾斯
回复:如何使 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。
回复:如何使 JMP 計算反映參數順序的值。嗨,拉斯!
我認為這是一個腳本,可以滿足您對示例數據中的 Big Class 數據集的要求:
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() 參數並將其粘貼到公式編輯器中...只需記住首先對數據進行適當排序即可。
祝你好運!