如何在一个矩阵中定位特定元素并将其与第二个矩阵进行比较?

时间:2017-10-07 15:58:58

标签: r object dataframe matrix indexing

让我们有一个二进制矩阵/数据框:

library("Matrix")
df_binary <- data.frame(as.matrix(rsparsematrix(1000, 20,nnz = 800,  rand.x = runif)))
df_binary[df_binary > 0] = 1

现在,我想创建一个等值为1的所有元素的索引对象。
如何在R中执行此操作?

我需要类似这些条目的索引来比较二进制矩阵的条目和第二个矩阵的条目。两个矩阵的大小相同 - 如果这些信息可能很重要。

1 个答案:

答案 0 :(得分:0)

如果你想要一个清单,你可以按照

的方式做点什么
list_ones <- function(df) {
  out <- list()

  for (col in names(df)) {
    out[[col]] <- which(df[[col]] == 1)
  }

  return(out)
}

list_ones(df_binary)