从一个数据框添加唯一行到另一个数据框

时间:2017-10-12 17:13:28

标签: r

我有一个数据框,它包含第二个数据框中包含的记录子集。我想将第一个数据框中不常见的第二个数据帧的记录行添加到第一个...谢谢。

2 个答案:

答案 0 :(得分:0)

您应该查看dplyr的 distint() bind_rows()函数。 或者更好地提供虚拟数据以进行处理和预期输出。

假设您有两个数据帧a和b,并且想要将数据帧的唯一行合并到b数据帧

a = data.frame(
    x = c(1,2,3,1,4,3),
    y = c(5,2,3,5,3,3)
)
b = data.frame(
    x = c(6,2,2,3,3),
    y = c(19,13,12,3,1)
)
library(dplyr)
distinct(a) %>% bind_rows(.,b)

答案 1 :(得分:0)

如果您想要两个数据帧中的所有唯一行,则可以使用:

df1 <- data.frame(X = c('A','B','C'), Y = c(1,2,3))
df2 <- data.frame(X = 'A', Y = 1)

df <- rbind(df1,df2)
no.dupes <- df[!duplicated(df),]
no.dupes
#  X Y
#1 A 1
#2 B 2
#3 C 3

但是,如果要保留的数据框中有重复的行,它就无法工作。