相关疑难解决方法(0)

比较两个data.frames以查找data.frame 1中不存在于data.frame 2中的行

我有以下2个data.frames:

a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])
Run Code Online (Sandbox Code Playgroud)

我想找到a1没有的行a1.

这种类型的操作是否有内置功能?

(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)
Run Code Online (Sandbox Code Playgroud)

merge compare r rows dataframe

152
推荐指数
9
解决办法
27万
查看次数

标签 统计

compare ×1

dataframe ×1

merge ×1

r ×1

rows ×1