r - R中矩阵的索引值?

标签 r matrix filtering

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

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

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

例如,有没有一种简单的方法可以为数字“23”找回像 c(3, 5) 这样的东西?在这种情况下,说 which(a==23)只返回 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

最佳答案

刚刚看了which()的帮助发布此内容并找到答案后:arr.ind 参数。

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

关于r - R中矩阵的索引值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1829429/

相关文章:

r - dplyr `left_join()` 不能使用字符对象作为 LHS 变量

r - 来自data.frame的唯一单词列表

javascript - 过滤不包含来自其他数组的字符串的字符串?

r - 编写 R lint 程序

r - 如何使用 Shiny 的条件面板

python - 了解 Moore-Penrose 逆的 numpy 代码背后的逻辑

r - 如何使广义函数更新向量的值?

r - 在 R 中创建样本矩阵

google-analytics - 如何在Google Analytics(分析)报告中过滤笔记本电脑/笔记本电脑用户

javascript - 在 lodash 速记表达式中使用 'or' 进行过滤