在矩陣合併中,常見的方法有cbind()
和rbind()
。其中,前者爲按列合併,後者爲按行合併。
但是這兩個函數有個缺點,就是不能應用到循環之中。例如:
A<-matrix(1:12,nrow = 4,byrow = T)
B<-matrix(1:8,nrow = 4,byrow = T)
C<-cbind(A,B)
得到的矩陣C爲【按列合併兩者行數必須相同】:
但是如果將這個方法應用在循環中,就無法取得預期效果:
A<-matrix(1:12,nrow = 4,byrow = T)
C<-matrix(0,ncol = 3,byrow = F)
for (i in 1:3) {
C[1,]<-A[1,i]
}
結果爲:
A:
C:
所以,如果要循環寫入的話,不需要for循環即可:
A<-matrix(1:12,nrow = 4,byrow = T)
C<-matrix(0,ncol = 3,byrow = F)
C[1,]<-A[1,1:3]
C:
同樣的方法也可以用在一行或一列統一寫入新矩陣中
搞定!
債見!