腳本 > 清單 > 刪除缺失值JMP 團隊您好,
我正在尋找一種方法來從腳本內生成的列表中刪除缺失/空值:
初始列表如下所示:{.,.,.,2,3,4,7,.,.,.},我希望最終得到一個新列表 = {2,3,4,7}。
有什麼想法如何在不依賴列表元素的循環的情況下實現這一點嗎?
謝謝。
最好的,
TS
自動化和腳本編寫資料混合與清理品質和工藝工程回覆:腳本 > 清單 > 刪除缺失值如果你還沒有弄清楚。它確實有效,但只返回一個副本。如果你想改變x,你必須重新分配它或使用removefrom()
Names default to here(1);
x = {.,.,.,2,3,4,7,.,.,.};
new_x = remove(x, as list(loc(x, .)));
show(x, new_x);
removefrom(x, as list(loc(x, .)));
show(x, new_x);回覆:腳本 > 清單 > 刪除缺失值能提供程式碼片段和錯誤訊息嗎?
如果您的清單包含字串,那麼 loc 將不起作用 - 它僅適用於數字。
這是具有空值的字串列表的解決方案。
a = {"a", "", "b", "", "c", "d", "e"};
b = concat items(a, ";");
c = words(b, ";");
挑戰:有人有替代解決方案嗎?
回覆:腳本 > 清單 > 刪除缺失值嗨瑞安,
我不知道為什麼,但你的腳本確實如此不是為我工作... (我有 JMP 16,以防它可以幫助調試問題)
回覆:腳本 > 清單 > 刪除缺失值也,
Names Default to Here( 1 );
original = [.,.,.,2,3,4,7,.,.,.];
none missing = original[Loc( Not( Is Missing( original ) ) )];
回覆:腳本 > 清單 > 刪除缺失值嗨伊恩,
將“42”添加到列表中真是太好了:讓我們遠離 Vogon ;)
最好的,
TS回覆:腳本 > 清單 > 刪除缺失值或者:
NamesDefaultToHere(1);
in = {.,.,.,2,3,4,7,.,42,.};
out = in[LocNonMissing(in)];
Print(out);回覆:腳本 > 清單 > 刪除缺失值你好@蒂埃里_S ,
嘗試這個,
x = {.,.,.,2,3,4,7,.,.,.};
remove(x, as list(loc(x, .)));