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)