Q:多个数据集,列数不一致,列名也不一致,如何按行合并,然后保留全部文件的变量并集呢?
A:使用 rbind.fill 函数试试!
数据集按列合并时,可以根据merge 或者 dplyr函数包的merge系列函数决定连接方式,达到数据合并的需求。
但是按行合并时常用的rbind,限制条件有点多,发现plyr包的rbind.fill 函数能比较好的解决这个问题。
一 生成数据
#生成随机数据
data1<- data.frame(x1=runif(5),x2= runif(5),x3= runif(5))
data2<- data.frame(x1=rnorm(5),x4= runif(5))
data3<- data.frame(x3=rnorm(5),x5= rnorm(5))
data1,data2,data3 列数不一致,列名也不一致,现在需要按行合并,可能的问题:
1)rbind: 是根据行进行合并(行叠加)但是要求rbind(a, c)中矩阵a、c的列数必需相等。
2)列数相同的时候,变量名不一致也会合并,导致出错
二 rbind.fill“智能”合并
rbind.fill
函数library(plyr)
rbind.fill(data1,data2,data3)
呐,就是这样,rbind.fill
函数会自动对应数据列名,不存在的会补充列,缺失时NA填充。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有