合并两个数据框创建的行比R中的原始数据多

时间:2019-09-30 07:46:33

标签: r dataframe merge duplicates

我想将两个数据帧组合到一个表中。以这样的方式,列a对于两个数据帧都是公用的。我用合并功能做了一个简单的例子:

我的代码:

df2 <- data.frame(a = sample(1:100,100,replace = FALSE), b = sample(LETTERS[1:20],100,replace = TRUE), 
                  x= rep(month.abb[1:10],10,replace = TRUE), y=rep(rownames(mtcars[10:19,]),10))
df1 <- data.frame(a = sample(1:100,50,replace = FALSE), b = sample(LETTERS[1:20],50,replace = TRUE), 
                  x= rep(month.abb[1:10],5,replace = TRUE), y=rep(rownames(mtcars[10:19,]),5))

head(merge(df1,df2, by="a"))
   a b.x x.x                y.x b.y x.y                 y.y
1  1   R Oct        Honda Civic   S Jul Lincoln Continental
2  3   R May        Merc 450SLC   S Mar          Merc 450SE
3  5   S Jun Cadillac Fleetwood   T Feb           Merc 280C
4  8   T Feb          Merc 280C   P Apr          Merc 450SL
5 11   B Oct        Honda Civic   B Apr          Merc 450SL
6 12   H Mar         Merc 450SE   H Sep            Fiat 128

代码对此数据正常工作。但是我有数百个观察值,使用上述代码后,我得到的观察值比原始数据多得多。每当合并产生太多观察结果时,我都搜索了许多解决方案,但没有找到正确的解决方案。我知道要重复的行,但不知道如何解决。请帮助我。

0 个答案:

没有答案