我有两个矩阵,一个矩阵来自实验(df1),另一个矩阵是参考(df2)。它们是样本中从1到50的半定量值。我想将实验中的df1的每一行与参考值是否都为True(相同)进行比较。
df1:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 6 14 32 38 40 48
[2,] 1 12 17 20 36 47
[3,] 7 15 29 33 40 42
[4,] 7 13 28 33 35 48
[5,] 1 2 13 36 38 41
[6,] 12 20 37 38 41 48
[7,] 13 14 28 34 36 43
...more rows
df2:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 5 12 14 15 24 32
[2,] 4 5 13 22 34 47
[3,] 1 14 24 29 34 36
[4,] 7 13 28 33 35 48
[5,] 13 14 28 34 36 43
[6,] 4 10 13 17 29 30
[7,] 4 15 22 30 36 43
[8,] 1 11 18 36 41 48
[9,] 14 17 18 24 43 47
[10,] 13 24 32 34 41 47
...more rows
desired output:
V1 V2 V3 V4 V5 V6 V7
7 13 28 33 35 48 TRUE
13 14 28 34 36 43 TRUE
如何将一个矩阵的所有行与另一个矩阵进行比较以对所有TRUE行进行排序?谢谢。
答案 0 :(得分:1)
这是执行此操作的一种方法-
x <- matrix(1:4, nrow=2)
[,1] [,2]
[1,] 1 3
[2,] 2 4
y <- matrix(c(1,2,5,4), nrow=2)
[,1] [,2]
[1,] 1 5
[2,] 2 4
do.call(paste, as.data.frame(x)) %in% do.call(paste, as.data.frame(y))
FALSE TRUE
我想这应该比在所有列中进行inner_join
更快。