
150
|
第
5
章
mat <- matrix(c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3), 2, 3)
mat
#> [,1] [,2] [,3]
#> [1,] 1.1 1.3 2.2
#> [2,] 1.2 2.1 2.3
R 的一个通常习惯是以矩形形状键入数据来显示矩阵结构:
theData <- c(
1.1, 1.2, 1.3,
2.1, 2.2, 2.3
)
mat <- matrix(theData, 2, 3, byrow = TRUE)
mat
#> [,1] [,2] [,3]
#> [1,] 1.1 1.2 1.3
#> [2,] 2.1 2.2 2.3
设置 byrow=TRUE 告诉矩阵数据是逐行而不是逐列的(这是默认值)。可以通过一个命
令的形式完成,变为:
mat <- matrix(c(1.1, 1.2, 1.3,
2.1, 2.2, 2.3),
2, 3,
byrow = TRUE)
以这种方式表达,很容易看到两行三列数据。
有一种快速应急的方法可将向量转换为矩阵:把维数赋值给向量。这部分在本章的介绍
中进行了讨论。以下示例创建一个 vanilla 向量,然后将其转化为 2
×
3 矩阵:
v <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
dim(v) <- c(2, 3)
v
#> [,1] [,2] [,3]
#> [1,] 1.1 1.3 2.2
#> [2,] 1.2 2.1 2.3
我们发现这比使用矩阵更不透明,特别是因为这里没有 byrow ...