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

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

本文首发于“生信补给站”公众号  https://mp.weixin.qq.com/s/aUdleBXDwUUpxGOONllyiA


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“智能”合并

列数不一致多个数据集,需要按行合并,尝试使用plyr包rbind.fill函数

library(plyr)
rbind.fill(data1,data2,data3)

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

相关文章
|
JavaScript
通过gm来批量拼接图片,两张合并一张
刚好在做类似的事情,找了一部分绘本,想将绘本内的图片全部取出来合并。 我是通过nodejs调用gm模块来实现的拼接,命令很简单。
通过gm来批量拼接图片,两张合并一张
|
2月前
表格数据填充方法
【10月更文挑战第22天】表格数据填充方法
65 2
|
2月前
表格数据填充方法单元格数据填充
表格数据填充方法单元格数据填充【10月更文挑战第22天】
60 2
|
8月前
|
算法 数据可视化
圆填充( CIRCLE PACKING)算法圆堆图圆形空间填充算法可视化
圆填充( CIRCLE PACKING)算法圆堆图圆形空间填充算法可视化
|
8月前
|
定位技术 Python
Python中ArcPy栅格裁剪栅格:批量对齐栅格图像范围并统一行数与列数
Python中ArcPy栅格裁剪栅格:批量对齐栅格图像范围并统一行数与列数
158 1
|
8月前
|
小程序
06 - table表格标签+ 行合并+列合并
06 - table表格标签+ 行合并+列合并
143 0
ENVI按行数、列数或像元个数裁剪栅格图像
本文介绍基于ENVI软件,实现栅格遥感影像按照像元行列号与个数进行指定矩形区域裁剪的方法~
247 1
ENVI按行数、列数或像元个数裁剪栅格图像
ggpattern包-基于几何图案或图像的自定义填充
平时我们做柱状图或饼图都会用彩色进行填充,但是文章有时候为了节约成本采用黑白印刷时候,图形一般都会做成各种阴影线条填充模式来进行区分(如下图),R中的ggpattern包刚好可以满足了我们的需求,若有需要就来学习下吧~
327 0
|
索引
一个张量,在指定位置插入一个维度
可以使用torch.unsqueeze()函数在指定位置插入一个新的维度。该函数可接受两个参数:要插入维度的张量和要插入的位置索引。
229 0
成功解决除去或展开pandas.core.frame.DataFrame输出类型中所包含的省略号(列数据或者行数据显示不完全)
成功解决除去或展开pandas.core.frame.DataFrame输出类型中所包含的省略号(列数据或者行数据显示不完全)
成功解决除去或展开pandas.core.frame.DataFrame输出类型中所包含的省略号(列数据或者行数据显示不完全)