如何使用JSL根據某一列的行數過濾出行數?例如,使用A過濾掉年齡等於7的行數。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

內容組織數據探索和視覺化Re: 如何使用JSL根據某一列的行數過濾出行數?函數 Col Number() 計算指定列的計數
col number(:height )
計算 :Height 欄位中非缺失值的行數,因此在資料表 Big Class 的範例中,它將傳回值 40。
Col Number() 函數可以傳遞多個值。第一個值是用來計算非缺失值數量的列,第二到 n 個附加列是「按組」列。
col number(:Height, :age )
上述函數呼叫計算 :age 的行當前值的 :Height 的非缺失值的計數。因此,對於資料表中的第 1 行,函數將只計算 :Age 值為 12 的行的 :Height 的非缺失值。它將傳回值 8。 第9行,age的值為13,Age值為13的行的:Height非缺失值的數量為7。
但為什麼我們要計算 :Height 的非缺失值的數量。出於其他原因,我們不知道它沒有缺失值,因此,它將返回正確的計數。我們實際上可以使用任何數字列,因為任何數字列都沒有非缺失值。
最初,我打算像這樣指定函數調用
col number(:age, :age )
但將其更改為 :Height,因為我認為使用 :Age 兩次會令人困惑
Re: 如何使用JSL根據某一列的行數過濾出行數?謝謝吉姆!
dt << select where( Col Number( :height, :age ) == 7 );
dt << select where( Col Number( :weight, :age ) == 7 );
效果是一樣的b但是這個修改不起作用:
dt << select where( Col Number( :age ) == 7 );
沒明白原理。
Re: 如何使用JSL根據某一列的行數過濾出行數?這是一種方法
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
dt << select where( col number(:height, :age) == 7);
dt7 = dt << subset( selected rows(1), selected columns(0));