回复:JMP 腳本:創建新列表如果您有 JMP16+,下面是使用 Filter Each 並使用 IsMissing 檢查列是否僅包含缺失值的一個選項
Names Default To Here(1);
input_list = {"height", "Weight", "Age"};
dt = New Table("Untitled 6",
Add Rows(2),
Compress File When Saved(1),
New Column("_LimitsKey", Character, "Nominal", Set Values({"_UCL", "_LCL"})),
New Column("height", Numeric, "Continuous", Format("Best", 12), Set Values([54, 72])),
New Column("Weight", Numeric, "Continuous", Format("Best", 12), Set Values([80, 150])),
New Column("Age", Numeric, "Nominal", Format("", 16), Set Values([., .]))
);
new_list = Filter Each({list_val}, input_list,
found_values = Sum(!IsMissing(dt[0, list_val]));
found_values > 0;
);
show(new_list);
在 Filter Each 中添加調試打印可能有助於了解正在發生的事情。 例如
Show(dt[0, list_val]);
Show(IsMissing(dt[0, list_val]));
Show(!IsMissing(dt[0, list_val]));
show(found_values);
還有很多其他方法可以做到這一點(就像大多數時候使用 jmp 一樣)
回复:JMP 腳本:創建新列表太好了,它運作良好! 非常感謝!
我想基於此實現一個 if 條件:
如果 Y 列包含在創建的 list_val 中,則...
這個條件怎麼寫?
If (Eval(Y) <FONT color="#FF0000">!=</FONT> list_val,
...
我認為 != 沒有適應......
任何想法?
回复:JMP 腳本:創建新列表使用包含()用 If() 檢查是否從列表中找到項目
Contains({"a","b","c"}, "b");
或者你可以使用包含項目()
Contains Item("b", {"a","b","c"});回复:JMP 腳本:創建新列表感謝您的回复,
它應該可以工作,但 JMP 不喜歡 Eval(Y) 並且總是返回 0:
r=Contains(list_val, Eval(Y))
有關信息,Y 是這樣製作的:
Y = concat(Y," (ppm)");
任何想法?
塞巴斯蒂安
回复:JMP 腳本:創建新列表我不確定您要做什麼? 為什麼要使用 Eval? 通常將列名作為字符串處理更容易,然後在需要時以某種方式將它們轉換為列引用
回复:JMP 腳本:創建新列表我正在使用 Eval,因為它基於用戶選擇,然後是串聯:
Y = concat(Y," (ppm)");
然後我需要確定是否可以在列表中找到此用戶選擇:
r=Contains(list_val, Eval(Y))
我也試過這個
r=Contains(list_val, Y)
但也總是返回 0...
JMP 腳本:建立新列表大家好,
我建立了一個名為 Y_list 的列表,其中包含變數名稱。 我想從這個列表中建立一個新列表,其中僅包含包含資料集中的值的變數名稱。
例子:
Y_list包含{“身高”,“體重”,“年齡”}
| _LimitsKey | 高度 | 重量 | 年齡 |
| _倫敦大學學院 | 54 | 80 | |
| _拼箱 | 72 | 150 | |
由於 Age 行中沒有值,我想建立一個僅包含包含資料的變數名稱的新清單:
Y_new_list ==> {"身高", "體重"}
但是,我不知道如何使用 JMP 腳本製作這個新清單。
您有什麼建議可以幫助我嗎?
多謝
賽巴斯蒂安
進階統計建模自動化和腳本編寫