R语言中cbind、rbind和merge函数的使用与区别

时间:2021-05-20

cbind: 根据列进行合并,即叠加所有列,m列的矩阵与n列的矩阵cbind()最后变成m+n列,合并前提:cbind(a, c)中矩阵a、c的行数必需相符

rbind: 根据行进行合并,就是行的叠加,m行的矩阵与n行的矩阵rbind()最后变成m+n行,合并前提:rbind(a, c)中矩阵a、c的列数必需相符

> a <- matrix(1:12, 3, 4)> print(a) [,1] [,2] [,3] [,4][1,] 1 4 7 10[2,] 2 5 8 11[3,] 3 6 9 12> > b <- matrix(-1:-12, 3, 4)> print(b) [,1] [,2] [,3] [,4][1,] -1 -4 -7 -10[2,] -2 -5 -8 -11[3,] -3 -6 -9 -12> > x=cbind(a,b)> print(x) [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8][1,] 1 4 7 10 -1 -4 -7 -10[2,] 2 5 8 11 -2 -5 -8 -11[3,] 3 6 9 12 -3 -6 -9 -12> > y=rbind(a,b)> print(y) [,1] [,2] [,3] [,4][1,] 1 4 7 10[2,] 2 5 8 11[3,] 3 6 9 12[4,] -1 -4 -7 -10[5,] -2 -5 -8 -11[6,] -3 -6 -9 -12> > > c <- matrix(-1:-20, 4, 5)> print(c) [,1] [,2] [,3] [,4] [,5][1,] -1 -5 -9 -13 -17[2,] -2 -6 -10 -14 -18[3,] -3 -7 -11 -15 -19[4,] -4 -8 -12 -16 -20> > x2=cbind(a,c)Error in cbind(a, c) : 矩阵的行数必需相符(见arg2)> print(x2) [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9][1,] 1 4 7 10 -1 -4 -7 -10 -13[2,] 2 5 8 11 -2 -5 -8 -11 -14[3,] 3 6 9 12 -3 -6 -9 -12 -15> > y2=rbind(a,c)Error in rbind(a, c) : 矩阵的列数必需相符(见arg2)> print(y2)Error in print(y2) : 找不到对象'y2'>

merge函数

两个数据框拥有相同的时间或观测值,但这些列却不尽相同。处理的办法就是使用
merge(x, y ,by.x = ,by.y = ,all = ) 函数。

#merge/合并ID<-c(1,2,3,4)name<-c(“A”,”B”,”C”,”D”)score<-c(60,70,80,90)student1<-data.frame(ID,name)student2<-data.frame(ID,score)total_student1<-merge(student1,student2,by=”ID”)total_student1

当我们需要将相同的观测对象得出的不同类型变量合并时,则采用cbind,也就是合并columm。

到此这篇关于R语言中cbind、rbind和merge函数的使用与区别的文章就介绍到这了,更多相关R语言 cbind、rbind和merge内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章