按值標籤選擇行我想透過列中的值標籤編寫行選擇腳本。例如,Big Class 資料集有一個值標籤,其中 F=Female,M=Male。據我所知,我無法編寫 JSL 來按「女性」進行列選擇。有誰知道如何在 JSL 中執行此操作?

我更大的問題是,我有幾個具有相同標籤的值,但我不想嘗試單獨選擇所有這些值,而是只想選擇標籤。
回覆:按值標籤進行行選擇這也太棒了。 我不太明白如何抓住標籤,但把它們扔進日記裡真是太棒了。 我的實際資料集超過 2MM 記錄,完成速度提高了 4 倍。 非常感謝您發送此訊息。回覆:按值標籤進行行選擇這是針對您的問題的不同解決方案。範例 jsl 只是建立一個包含值標籤值的新列,然後您可以從中建立 SelectWhere() 函數。由於沒有直接建立新列的函數,因此程式碼使用以下功能:如果將列複製到 JMP 日誌,JMP 將移動該列的值標籤形式。詳情請參閱下面的程式碼
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
// Create the Value Labels for the Sample data table
dt:sex << set property("value labels", {"F" = "Female", "M" = "Male"} );
// Select the column of interest
dt<<GO to=""></GO>

回覆:按值標籤進行行選擇謝謝馬克。我很欣賞您的快速回覆。
回覆:按值標籤進行行選擇使用此範例說明將引用從標籤反轉為值的一種方法。 (注意:我手動將「值標籤」列屬性新增至性別資料列,以便可以使用某些內容。 該步驟未包含在腳本中。 您不需要它,因為您的資料列已經具有此屬性。)
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
label = Arg( dt:sex << Get Property( "Value Labels" ), 1 );
For( i = 1, i <= N Items( label ), i++,
If( Contains( Arg( label[i], 2 ), "female" ),
value = Arg( label[i], 1 );
Break();
);
);
dt << Select Where( :sex == value );