我想按部分比较两个数据帧。以下是我的数据框示例:
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中(两列都必须匹配)并将其保存在新帧中。
任何帮助都将不胜感激。
答案 0 :(得分: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