我是一名开发人员,想使用SystemMl在Spark集群上运行来自我们业务人员的R-Code。
我研究过http://apache.github.io/systemml/dml-language-reference,但是还没有找到R函数“ which”或任何其他功能的实现。有谁知道我该怎么做
v = c(1,4,NA,2,5,NA)
v2 =哪个(v> 2)
v3 =哪个(is.na(v))
我已经考虑过函数replace()和removeEmpty(),但它们不能完全满足我的需求。
非常感谢 库诺
答案 0 :(得分:0)
以防万一有人偶然发现同一问题。 R的which
可以使用以下解决方法进行仿真:
v2 = removeEmpty(target=seq(1,length(v)) * (v>2), margin="rows")
此外,SystemML不允许NA
,因此您需要将其替换为0或NaN
(例如0/0=NaN
)。然后提取看起来像(v==0)
或(v!=v)
,其中后者说明了与NaN
的任何比较都是错误的事实,因此NaN
是唯一的值不等于自己。