R-rbind.fill|列数不一致的多个数据集“智能”合并,Get!
本文首发于"生信补给站",https://mp.weixin.qq.com/s/aUdleBXDwUUpxGOONllyiA
Q:多个数据集,列数不一致,列名也不一致,如何按行合并,然后保留全部文件的变量并集呢?
A:使用 rbind.fill 函数试试!
但是按行合并时常用的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 “智能”合并
列数不一致多个数据集,需要按行合并,尝试使用plyr包rbind.fill
函数
library(plyr)
rbind.fill(data1,data2,data3)
呐,就是这样,rbind.fill
函数会自动对应数据列名,不存在的会补充列,缺失时NA填充。
精心整理(含图版)|R语言生信分析,可视化,你要的全拿走,建议收藏!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix