前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R-rbind.fill|列数不一致的多个数据集“智能”合并,Get!

R-rbind.fill|列数不一致的多个数据集“智能”合并,Get!

作者头像
生信补给站
发布2020-08-06 11:31:50
2.7K0
发布2020-08-06 11:31:50
举报
文章被收录于专栏:生信补给站

Q:多个数据集,列数不一致,列名也不一致,如何按行合并,然后保留全部文件的变量并集呢?

A:使用 rbind.fill 函数试试!

数据集按列合并时,可以根据merge 或者 dplyr函数包的merge系列函数决定连接方式,达到数据合并的需求。

但是按行合并时常用的rbind,限制条件有点多,发现plyr包的rbind.fill 函数能比较好的解决这个问题。

一 生成数据

代码语言:javascript
复制
#生成随机数据
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函数
代码语言:javascript
复制
library(plyr)
rbind.fill(data1,data2,data3)

呐,就是这样,rbind.fill函数会自动对应数据列名不存在的会补充列,缺失时NA填充。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信补给站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 列数不一致多个数据集,需要按行合并,尝试使用plyr包rbind.fill函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档