JMP Scripting Noob:如何基於過濾來自兩列的數據來輸入新列?大家好,
我喜歡JMP的圖形構建工具,因此我只是開始涉足其腳本部分。 有人可以幫我這個要求嗎?
我有兩個山口。 一個用於X坐標,一個用於Y坐標。 我要做的只是簡單地創建一個新的col,它將基於X和Y坐標列出右上/左上/右下/左下(LL)。
例如
如果0 <5和0 <5,則標記為LL
如果0 <5和5 <10,則標記為UL
如果5 <10和0 <5,標記為LR
如果5 <10和5 <10,則標記為UR
我很迷失,不勝感激:)

數據表腳本編寫回复:JMP Scripting Noob:如何基於過濾來自兩列的數據來輸入新列?您可以通過分別檢查X和Y並將它們串聯在一起,使用JMP中的公式相當簡單地執行此操作。
像下面這樣的東西應該起作用(不是如果值是0,5或值超過10,則根本不會將其分類):
If(0 < :y < 5, "L", 5 < :y < 10, "U") || If(0 < :x < 5, "L", 5 < :x < 10, "R")
回复:JMP Scripting Noob:如何基於過濾來自兩列的數據來輸入新列?通過查找數據表中哪一行具有最小值和最大值的不同組合,可以輕鬆完成此操作。
names default to here( 1 );
dt = New Table( "Sample",
Add Rows( 4 ),
New Column( "x",
Set Values( [1, 1, 6, 6] )
),
New Column( "y",
Set Values( [1, 6, 1, 6] )
)
);
dt << new column("location", character, formula(
:location[(dt << get rows where(:x==col max(:x) & :y==col max(:y)))[1]]="UR";
:location[(dt << get rows where(:x==col max(:x) & :y==col min(:y)))[1]]="LR";
:location[(dt << get rows where(:x==col min(:x) & :y==col max(:y)))[1]]="UL";
:location[(dt << get rows where(:x==col min(:x) & :y==col min(:y)))[1]]="LR";
));
