我有2个数据帧,每个数据帧由坐标行组成,即x,y,z
这些数据框长度不同
我希望能够使用一个数据框作为参考,并在另一个数据框中搜索在所有 3个位置匹配的任何坐标
然后我想将这些坐标写入另一个数据框
即。 数据框一:
[1,] 1 2 3
[2,] 2 3 3
[3,] 1 2 4
[4,] 4 2 5
数据框二:
[1,] 3 2 3
[2,] 1 1 2
[3,] 2 3 3
[4,] 1 2 3
我希望这回复
[1,] 2 3 3
[2,] 1 2 3
匹配的
即。我想要它,而不仅仅是检查相同数字的行,而是检查数据框中的所有行。
答案 0 :(得分:2)
您可以使用intersect
dplyr
library(dplyr)
intersect(as.data.frame(m1) , as.data.frame(m2))
# V1 V2 V3
#1 2 3 3
#2 1 2 3
或者您可以使用
mNew <- rbind(m1,m2)
mNew[duplicated(mNew),]
# [,1] [,2] [,3]
#[1,] 2 3 3
#[2,] 1 2 3
m1 <- matrix(c(1,2,1,4, 2,3,2,4, 3,3,4,5), ncol=3)
m2 <- matrix(c(3,1,2,1,2,1,3,2,3,2,3,3), ncol=3)