【问题标题】:which() Function in SystemMLSystemML 中的 which() 函数
【发布时间】:2018-07-05 12:32:05
【问题描述】:

我是一名开发人员,想使用 SystemMl 在 Spark 集群上运行我们业务人员的 R-Code。

我研究了http://apache.github.io/systemml/dml-language-reference,但是,还没有找到 R 函数“which”或任何替代功能的实现。有谁知道我该怎么做

给定

v = c(1,4,NA,2, 5, NA)

期望值满足条件的索引 = int[] 2 5

v2 = 哪个(v>2)

期望 is.na 返回 TRUE = int[] 3 6 的索引

v3 = which(is.na(v))

我已经考虑过 replace() 和 removeEmpty() 函数,但它们并不能完全满足我的需求。

提前非常感谢 久野

【问题讨论】:

    标签: systemml


    【解决方案1】:

    以防万一其他人遇到同样的问题。 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 是唯一不等于自身的值。

    【讨论】:

      猜你喜欢
      • 2019-02-06
      • 1970-01-01
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多