【问题标题】:Filter NxM Dimensional Matrix Using M Dimensional Vector in R使用 R 中的 M 维向量过滤 NxM 维矩阵
【发布时间】:2018-08-29 23:12:09
【问题描述】:

使用 R,我试图用 M 维向量过滤 N x M 维矩阵的行,替换为 NA 矩阵每一行中的那些值小于向量中索引的对应值。

直觉告诉我,这应该使用apply() 的一些变体来在矩阵的每一行上迭代过滤器,但我不确定如何在实践中编写代码。

我通常不会将 R 用于此类任务,但一位同事要求使用该语言编写代码。谢谢

【问题讨论】:

    标签: r filtering apply


    【解决方案1】:

    如果您想使用 apply 获得答案,以下代码可能会有所帮助:

    m <- matrix(c(NA, 3, 3, 4, 2, NA, 4, 3, 5, 6, NA, NA), nrow = 4, ncol = 3)
    apply(m, 1:2, function(x) ifelse(is.na(x), -1, x))
    

    Apply 遍历每个单元格并搜索 NA。如果它检测到 NA,它将用 -1 替换它(或者您可以使用您选择的任何其他值)。否则,它将保持原始值不变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-09
      • 2018-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多