当前位置:网站首页 > Haskell函数式编程 > 正文

合并数组的函数(合并数组的函数有哪些)



在日常数据分析和图形绘制等工作中,我们经常需要对数据进行合并处理,今天小锐为大家讲解R语言中的数据合并技巧。

首先建立示例数据:

class1<-data.frame(name=c("Tom","Mary","Bob","Mike","Lily"),hight=c(170,165,175,180,158))

class2<-data.frame(name=c("Lee","Judy","Max","Owen","Jack"),hight=c(170,167,183,185,177))

class3<-data.frame(name=c("Jackson","Iris","Edison","Rose","Annie","Julie"),score=c(90,85,75,80,95,60))

class1.1<-data.frame(name=c("Jackson","Owen","Bob","Mike","Lily"),score=c(90,85,75,80,95))

一、rbind、cbind、merge

这三个函数是Rbase中内置的,因无需加载R包,也是大家较常使用的数据合并函数。

rbind纵向合并:

rbind(class1,class2)

rbind(class1,class3)

是因为height和score不同,rbind合并要求字段名称相同,这里我们可以使用dplyr包中的bind_rows函数,这个函数会对字段名称不相同的数据进行判断,自动补全。看一下使用bind_rows的效果:

library(dplyr)

bind_rows(class1,class3)

会合并共有字段“name”,保留各自的特有字段,没有对应值的部分,用NA填充。

cbind横向合并:

cbind(class1,class1.1)

cbind函数无需匹配主字段,仅将数据进行横向拼接。

若我们想将两个数据的共有字段“name”合并在一起,而不是简单的横向拼接,可以使用merge函数。

merge函数

merge函数对数据进行横向合并,可针对主字段进行匹配,如果主字段名称不一致,可以指定匹配的主字段名称。

基本语法:

merge(x,y,by = , by.x = , by.y = , all = , all.x = , all.y = ,...)

merge(class1,class1.1,by="name",all=TRUE)

merge(class1,class1.1,by="name",all=FALSE)

merge(class1,class1.1,by="name",all.x=TRUE)

merge(class1,class1.1,by="name",all.y=TRUE)

如果我们合并的两个数据是主字段不相同时,使用by.x和by.y参数指定列名称,修改class1.1的列名称来进行演示:

二、dplyr中的join函数

join为一系列函数,包括:full_join,inner_join,left_join,right_join。

dplyr的join函数名称可直观反映数据的合并效果,通过控制函数来实现不同的数据合并形式。相较与merge函数,join函数语句更加精练,更为直观更好理解。

让我们来感受一下join函数的使用:

full_join(class1,class1.1,by=c("name"="studentname"))

inner_join(class1,class1.1,by=c("name"="studentname"))

今天R语言数据合并的内容就介绍到这里,关注锐翌基因,干货持续推送!

供稿:谭迪

编辑:鲁淑妮

到此这篇合并数组的函数(合并数组的函数有哪些)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 485报文解析公式(485报文怎么读)2025-09-01 16:09:08
  • rms公式excel(rmse计算公式excel)2025-09-01 16:09:08
  • 一级论文多级标题如何设置二级论文多级标题如何设置三级论文多级标题如何设置的设置格式(一级论文多级标题如何设置二级论文多级标题如何设置三级论文多级标题如何设置的设置格式是什么)2025-09-01 16:09:08
  • sigmod激活函数公式(激活函数mish)2025-09-01 16:09:08
  • rs485报文格式(485报文分析软件)2025-09-01 16:09:08
  • rmsd公式(rms值计算公式)2025-09-01 16:09:08
  • conv2d函数(conv2d的参数)2025-09-01 16:09:08
  • modbus报文解析 格式(modbus报文出错的处理方法)2025-09-01 16:09:08
  • Json字符串转json是制定字段不转换(json字符串转成标准格式输出)2025-09-01 16:09:08
  • 电脑打开任务管理器快捷键win10(电脑打开任务管理器的快捷方式)2025-09-01 16:09:08
  • 全屏图片