代码之家  ›  专栏  ›  技术社区  ›  Shane

R中矩阵的索引值?

  •  23
  • Shane  · 技术社区  · 16 年前

    是否有一个函数来获取矩阵的索引(行号和列号)?

    假设我有一个简单的矩阵:

    a <- matrix(1:50, nrow=5)
    

    which(a==23)

    这似乎有效,但我相信有更好的方法:

    matrix.index <- function(a, value) {
      idx <- which(data.frame(a)==value)
      col.num <- ceiling(idx/nrow(a))
      row.num <- idx - (col.num-1) * nrow(a)
      return(c(row.num, col.num))
    }
    > matrix.index(a, 23)
    [1] 3 5
    > matrix.index(a, 50)
    [1]  5 10
    
    1 回复  |  直到 16 年前
        1
  •  46
  •   Shane    16 年前

    只是看了看帮助 which()

    which(a==23, arr.ind=TRUE)
         row col
    [1,]   3   5