【发布时间】:2011-03-11 10:18:00
【问题描述】:
我有以下 2 个数据帧:
a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])
我想找到 a1 有而 a2 没有的行。
这种操作有内置函数吗?
(ps:我确实为它写了一个解决方案,我只是好奇是否有人已经编写了更精心设计的代码)
这是我的解决方案:
a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])
rows.in.a1.that.are.not.in.a2 <- function(a1,a2)
{
a1.vec <- apply(a1, 1, paste, collapse = "")
a2.vec <- apply(a2, 1, paste, collapse = "")
a1.without.a2.rows <- a1[!a1.vec %in% a2.vec,]
return(a1.without.a2.rows)
}
rows.in.a1.that.are.not.in.a2(a1,a2)
【问题讨论】:
标签: r merge compare rows dataframe