我知道这个功能
match(x, dataset)
但是只显示找到的匹配的第一个位置,我需要指定表中的哪个列才能获得结果。所以,如果有这样的表
x1 x2 ...
1 3 1 ...
2 4 2 ...
3 1 1 ...
4 2 4 ...
如何找到所有数字1的位置? 我想分别得到行号和列号。像上面例子的结果应该是1,3(行)和x1,x2(列)。
答案 0 :(得分:2)
dat == 1
将为您提供一个矩阵,其中位置等于1,而TRUE
则为FALSE
。
此外,您可以使用{{1}找到符合条件的元素的row
和column
位置(在这种情况下,等于一个是TRUE
) }和which
参数。
您的数据
arr.ind
提取数据等于1的位置
dat <- read.table(header=TRUE, text=
"x1 x2
1 3 1
2 4 2
3 1 1
4 2 4 ")