【发布时间】:2014-01-22 19:32:53
【问题描述】:
我想按部分比较两个数据帧。这是我的数据框的示例:
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 中(两列必须匹配)并将其保存在新帧中。
任何帮助将不胜感激。
【问题讨论】:
我想按部分比较两个数据帧。这是我的数据框的示例:
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 中(两列必须匹配)并将其保存在新帧中。
任何帮助将不胜感激。
【问题讨论】:
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
【讨论】: