在R中如何按rbind方式合并存在列名差异的数据框?
在R中合并列名不同的数据框
方法1:Base R 重命名列后合并
先将dat2的列名修改为与dat1一致,再用rbind完成行合并:
# 重命名dat2的列 colnames(dat2) <- c("motors", "age") # 合并两个数据框 combined_data <- rbind(dat1, dat2)
方法2:使用dplyr包简化操作
如果你习惯用tidyverse工具,可以用dplyr的bind_rows配合rename快速完成:
library(dplyr) # 重命名dat2的列并合并 combined_data <- bind_rows( dat1, dat2 %>% rename(motors = motors1, age = age1) )
合并结果
执行后得到的combined_data是包含2列、6行数据的数据框,内容如下:
> combined_data motors age 1 audi 1 2 honda 2 3 ford 3 4 audi 2 5 honda 3 6 ford 1
注:你提到的"8行(包含列名)"应为表述误差,两个3行的数据框合并后,加上表头行在显示时是7行,实际数据行是6行。
内容的提问来源于stack exchange,提问作者TheBoomerang
相关产品推荐
相关产品推荐

