在r中比较矩阵和向量时,如何返回匹配行的索引

在r中比较矩阵和向量时,如何返回匹配行的索引,r,R,数据如下: a我们可以通过'a'的行复制'b',并进行元素比较,然后包装哪个以获得索引 which(a == b[row(a)]) 注意,这给出了元素的索引。如果我们需要所有内容都匹配的行的索引 which(rowSums(a == b[col(a)]) == ncol(a)) 或 另一个选项,但带有match match(list(b),asplit(a,1)) 或 或 还有几个选择: which(colSums(t(a) != b) == 0) 及 match(asplit(t(b)

数据如下:


a我们可以通过'a'的
复制'b',并进行元素比较,然后包装
哪个
以获得索引

which(a == b[row(a)])
注意,这给出了元素的索引。如果我们需要所有内容都匹配的行的索引

which(rowSums(a == b[col(a)]) == ncol(a))


另一个选项,但带有
match

match(list(b),asplit(a,1))


还有几个选择:

which(colSums(t(a) != b) == 0)

match(asplit(t(b),1),asplit(a,1))
match(as.data.frame(t(t(b))),as.data.frame(t(a)))
which(colSums(t(a) != b) == 0)
which(rowSums(sweep(a, 2, b, `!=`)) == 0)