如何使用 JSL 對同一列中的正值和負值進行分類?根據《心律不整》文件中「權重」欄的資料以及附件中的「標準」文件,得出「等級」欄。
然後,根據「level」列和「class」列,將「V3 QRSTA」列的資料依照下列規則進行分類:
行依據為“級別”,列依據為“類別”,分別對“V3 QRSTA”列的正值和負值進行分類匯總。

以上操作可以用excel及其函數輕鬆完成,但資料量大時速度較慢。
如果數據量很大,如何使用JMP JSL應該可以更快完成。非常感謝!
這個問題相當複雜。 我製作了幾張照片並上傳了 2 個檔案。
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?這不是唯一的方法,但 JMP 是您可以做到的方法之一回覆:如何使用 JSL 對同一列中的正值和負值進行分類?好的我明白了。 這是唯一的辦法。
謝謝吉姆!

回覆:如何使用 JSL 對同一列中的正值和負值進行分類?在資料表中建立一個新的字元列。 如果列 V3 QRSTA 大於 0,則使用公式將列中的值設為“+”,如果低於零,則將列中的值設為“-”。 然後執行“表==>摘要”並將新列新增為附加組變量,將“類別”保留為“子組”,將“等級”保留為“權重”列回覆:如何使用 JSL 對同一列中的正值和負值進行分類?這是負小計。

謝謝!
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?現在我想透過新增權重「level」列和「class」列來分別總結「V3 QRSTA」列的正值和負值。
如何使用 JSL 做到這一點?

計算相關的數據我已經上傳到附件了,謝謝!
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?謝謝吉姆!
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?我運行了包含 100 萬行的範例,花了 17 秒。
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?我研究了Jim的程式碼,明白了正是透過排序,實現了這種快速的計算。
謝謝吉姆!
如果資料達到千萬行,則需要等待一段時間。
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?以下是進行處理以設定每個原始資料行的等級的一種方法的範例。我將其設定為具有 50,000 個範例數據表,在我使用 4 年的 Window 電腦上大約需要 2 秒來建立範例數據,然後設定每行的等級。
Names Default To Here( 1 );
// Create a sample standards table
dtStandard = New Table( "Standards",
Add Rows( 200 ),
New Column( "standards", formula( Random Integer( 93500, 1000000 ) ) )
);
dtStandard << run formulas;
dtStandard:standards << delete property( "formula" );
dtStandard << sort( by( :standards ), order( ascending ), replace table( 1 ) );
dtStandard << rerun formulas;
dtStandard << New Column( "grades", formula( Row() ) );
dtStandard:grades << delete property( "formula" );
// Create an example table
dt = New Table( "Example",
Add Rows( 50000 ),
New Column( "Raw Data", formula( Random Integer( 93500, 1000000 ) ) )
);
dt << run formulas;
dt:Raw Data << delete property( "formula" );
// Make sure the standards table has the same range as the example table
If( dtStandard:standards[1] > Col Min( dt:raw data ),
dtStandard:standards[1] = Col Min( dt:raw data )
);
If( dtStandard:standards[200] < Col Max( dt:raw data ),
dtStandard:standards[200] = Col Max( dt:raw data )
);
// Set the standard
// The code below is the actual code that performs the setting of the grade
// Create a column to hold the original row positions in the data table
dt << New Column( "OrigRow", formula( Row() ) );
dt:OrigRow << delete property( "formula" );
// Add the new grades column to the Example data
dt << New Column( "grade" );
// Sort the data in order of the raw data
dt << sort( by( :Raw Data ), order( ascending ), replace table( 1 ) );
For( i = 1, i <= N Rows( dt ), i++,
If( i == 1,
lkupRow = Max( dtStandard << get rows where( dtStandard:standards <= dt:Raw Data[i] ) )
);
While( dtStandard:standards[lkupRow] < dt:Raw Data[i], lkupRow = lkupRow + 1 );
dt:grade[i] = dtStandard:grades[lkupRow];
);
// Sort the data back to the original order
dt << sort( by( :OrigRow ), order( ascending ), replace table( 1 ) );
// Delete the origrow column
dt << delete columns( "OrigRow" );
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?標準間隔是不規則的。回覆:如何使用 JSL 對同一列中的正值和負值進行分類?謝謝吉姆!
了解如何使用 JSL 完成此範例。
<=回覆:如何使用 JSL 對同一列中的正值和負值進行分類?感謝您的時間。回覆:如何使用 JSL 對同一列中的正值和負值進行分類?請使用這個實際例子,謝謝!
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?JMP 具有許多可用於分類和/或分箱的方法和函數。對於您指定的權重分類,我演示的 If() 結構將非常快速且易於實現。如果您能提供有關超過 100 個級別的分類的更多細節,我相信有可用的方法。
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?如果您在表格中進行瞭如上所示的分類,則腳本可以輕鬆地為必要的 If() 函數建立表達式。 或者您可以在這樣的表中使用查找方法。
超過100堂課? 它們有意義或有用嗎? 此時您可能只想使用原始連續變數。
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?謝謝吉姆!
但如果這個等級分類達到100個以上,這樣的分類方法代碼就比較麻煩了。回覆:如何使用 JSL 對同一列中的正值和負值進行分類?這可以在 JMP 公式中輕鬆處理
If(weight<=30, 1
weight <= 40, 2,
weight <= 50, 3,
etc.
)
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?標準請見截圖: 這一步的操作,我只能使用「IF」的方式。 Excel 有多個函數可以執行此操作。 JSL如何快速做到這一點?非常感謝!
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?看來我的專案步驟很多,所以需要分幾個步驟完成:
首先解決第一步:如何將「權重」欄除以附屬幾個等級中的「標準」。

回覆:如何使用 JSL 對同一列中的正值和負值進行分類?當我自己做的時候,我在文件 Arrithmia.jmp 中添加了三列:「水平」、「陽性」、「陰性」。
我知道這很愚蠢,但這是我能處理的唯一方法。非常感謝!
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?
回覆:如何使用 JSL 對同一列中的正值和負值進行分類?dt = Open( "$SAMPLE_DATA/心律不整.jmp" );