R是向量1行矩阵或1列矩阵

时间:2018-08-04 23:50:36

标签: r

a <- c(1,2,3)
b <- c(2,4,6)

然后:

c = cbind(a,b)

在这种情况下,我希望结果是一个1x6的矩阵,但结果却是3x 2的矩阵

d = rbind(a,b)

结果是一个2x3矩阵。为什么a和b的结构不一致?下划线的规则是什么?

1 个答案:

答案 0 :(得分:0)

ab是普通向量(不是数组),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