脚本 > 列表 > 删除缺失值嗨 JMP 团队,
我正在寻找一种方法来从脚本中生成的列表中删除缺失值/空值:
初始列表如下所示:{.,.,.,2,3,4,7,.,.,.} 我想以新列表 = {2,3,4,7} 结束。
任何想法如何在不依赖 List 元素循环的情况下实现这一目标?
谢谢。
最好,
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);回复:脚本 > 列表 > 删除缺失值你好@Thierry_S ,
尝试这个,
x = {.,.,.,2,3,4,7,.,.,.};
remove(x, as list(loc(x, .)));