a <- c(1,2,3)
b <- c(2,4,6)
然后:
c = cbind(a,b)
在这种情况下,我希望结果是一个1x6的矩阵,但结果却是3x 2的矩阵
d = rbind(a,b)
结果是一个2x3矩阵。为什么a和b的结构不一致?下划线的规则是什么?
答案 0 :(得分:0)
a
和b
是普通向量(不是数组),cbind
将普通向量(和一维数组)视为列,而rbind
将普通向量(和一个维数组)。
如果提供二维输入,则它们确实会按照问题中所述的方式起作用。
例如,
A13 <- matrix(1:3, 1) # 1x3 matrix
B13 <- matrix(4:6, 1) # 1x3 matrix
cbind(A13, B13)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 1 2 3 4 5 6
rbind(A13, B13)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
A31 <- matrix(1:3, 3) # 3x1 matrix
B31 <- matrix(4:6, 3) # 3x1 matrix
rbind(A31, B31)
## [,1]
## [1,] 1
## [2,] 2
## [3,] 3
## [4,] 4
## [5,] 5
## [6,] 6
cbind(A31, B31)
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6