matrix(c(1, 5, 3,
4, 9, 6,
5, 8, 2), nrow = 3, byrow = FALSE)
matrix(c(1, 5, 3,
4, 9, 6,
5, 8, 2), nrow = 3, byrow = TRUE)
matrix(c(1, 5, 3,
4, 9, 6,
5, 8, 2),
nrow = 3, byrow = TRUE,
dimnames = list(c("r1", "r2", "r3"),
c("c1", "c2", "c3")))
#对矩阵的行,列命名
m1 <- matrix(c(1, 5, 3,
4, 9, 6,
5, 8, 2), ncol = 3)
rownames(m1) <- c("r1", "r2", "r3")
m1
colnames(m1) <- c("c1", "c2", "c3")
m1
diag(1, nrow = 4)
as.vector(m1)
m1[1,2]#——提取第1行,第2列的单个元素
m1[1:2, 2:3] #——提取第1至2行,第2至3列的元素
m1[c("r1", "r3"), c("c1", "c3")]#——提取行名为r1和r3,列名为c1和c3的元素
#若一个维度空缺,则选出该维度的所有元素:
m1[1,] #——提取第1行,所有列元素
m1[, 2:3] #——提取所有行,第2至3列的元素负数表示在构建矩阵子集时可排除该位置,这和向量中的用法一致:
m1[-1,] #——提取除了第1行之外的所有元素
m1[,-c(2,3)]# ——提取除了第2和3列之外的所有元素
#注意,矩阵是一个用两个维度表示和访问的向量,但它本质上仍然是一个向量。因此,向量的一维存取器也可以用来构建矩阵子集:
m1[3:7]
m1 > 3
m1[m1 > 3]
a1 <- array(1:24, dim = c(3, 4, 2))
a1
a1 <- array(1:24, dim = c(3, 4, 2),
dimnames = list(c("r1","r2","r3"),
c("c1","c2","c3","c4"),
c("k1","k2")))
a1
a1 <- array(1:24, dim = c(3, 4, 2))
dimnames(a1) <- list(c("r1","r2","r3"),
c("c1","c2","c3","c4"), c("k1","k2"))
a1
a1[2,4,2]#提取第2行,第4列,第2页的元素
a1["r2","c4","k2"]#提取第r2行,第c4列,第k2页的元素
a1[1,2:4,1:2] #提取第1行,第2至4列,第1至2页的元素
a1[,,2]#提取第2页的所有元素
dim(a1)#返回多维数组a的各维度的维数