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

合并数组的函数(合并数组的函数有哪些)在日常数据分析和图形绘制等工作中 我们经常需要对数据进行合并处理 今天小锐为大家讲解 R 语言中的数据合并技巧 首先建立示例数据 class1 lt data frame name c Tom Mary Bob Mike Lily

大家好,我是讯享网,很高兴认识大家。



在日常数据分析和图形绘制等工作中,我们经常需要对数据进行合并处理,今天小锐为大家讲解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语言数据合并的内容就介绍到这里,关注锐翌基因,干货持续推送!

供稿:谭迪

编辑:鲁淑妮

小讯
上一篇 2025-05-21 17:03
下一篇 2025-05-07 15:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/137874.html