R語言中cbind、rbind和merge函數的使用與區別
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內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 詳解R語言數據合並一行代碼搞定
- R語言中矩陣matrix和數據框data.frame的使用詳解
- R語言中常見的幾種創建矩陣形式總結
- R語言的Dataframe常用操作使用
- R語言 數據表匹配和拼接 merge函數的使用