1.保留所有人,即,取并集
df3 <- merge(df1, df2, by = "id", all = TRUE)
2.保留在两个数据库都有的人,即,取交集
df3 <- merge(df1, df2, by = "id", all = FALSE)
3.向df1中插入df2的信息,保留在df1中的人
df3 <- merge(df1, df2, by = "id", all.x = TRUE)
附注:
1.以上代码合并后为宽数据。
例如df1变量名 id time age;df2变量名 id gender marry
则df3变量名 id time age gender marry
2.cbind也可以横向合并,但并不考虑id,如果两个数据框中存在相同的列名,cbind()函数可能会重复列,并将它们视为两个不同的变量。如果两个数据框中存在重复的行,cbind()函数也会将它们视为两个不同的行,并直接将它们结合在一起。
3.纵向合并使用rbind即可,但要求变量名匹配,即变量名一致且顺序对应。
df5 <- rbind(df1,df2,df3,df4)
文章介绍了如何在R语言中使用merge函数进行数据框的合并,包括取并集(所有人的信息)、交集(共有的信息)以及向一个数据框中插入另一个数据框的信息。同时提到了cbind和rbind函数的使用区别,cbind不考虑id直接横向合并,而rbind要求变量名匹配并纵向合并。

1866

被折叠的 条评论
为什么被折叠?



