2014-01-22 70 views
4

我想按部件比較兩個數據幀。這是我的數據幀的例子:按部件比較兩個幀R

a1 <- data.frame(a = 1:5, b=letters[1:5]) 
a2 <- data.frame(a = c(1,6,3,4), b=letters[1:4]) 

我希望寫一個發現在A1也存在於數據幀A2兩個連續行的功能(兩列必須匹配),並將其保存在新幀。

任何幫助,將不勝感激。

回答

3
dual.matches <- match(a1$a, a2$a) == match(a1$b, a2$b) 
sequential.dual.matches <- with(rle(dual.matches), rep(replace(values, lengths==1, FALSE), lengths)) 

a1[sequential.dual.matches, ] 
# a b 
# 3 3 c 
# 4 4 d