我必须矩阵,并且我不希望哪些行是相同的。
假设我有一个矩阵 A,如下所示:
A = matrix(1:12, 4, 3, byrow=T)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
较短的矩阵 B:B <-matrix(c(0,2,2,7,8,9,4,5,6),3,3,byrow=T)
[,1] [,2] [,3]
[1,] 0 2 2
[2,] 7 8 9
[3,] 4 5 6
我想要的是当 B 中也存在行时 A 的行号。
在这个例子中我想得到:2
和3
.
我尝试用 setkey 解决它,但由于矩阵首先已排序,所以我只得到行,但没有得到行数。
最佳答案
或者,您可以使用 plyr
中的 match_df
:
match_df(data.frame(A),data.frame(B))
Matching on: X1, X2, X3
X1 X2 X3
2 4 5 6
3 7 8 9
要提取行数,您可以输入 as.numeric(rownames(match_df(data.frame(A),data.frame(B))))
关于R - 获取两个矩阵具有相同行的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884037/