创建
- 创建数组
使用array,传入两个向量(值和维度)作为参数,也可以对每个维度命名。
a_array<-array(
1:24,
dim=c(4,3,2),
dimnames=list(
c("one","two","three","four"),
c("ein","zwei","drei"),
c("un","deux")
)
)
2. 创建矩阵和数组类似,只不过不需要传入dim参数,只要指定行数和列数。
a_matrix<-matrix(
1:12,
nrow=4, #ncol=3同样的效果
dimnames=list(
c("one","two","three","four"),
c("ein","zwei","drei")
)
)
注:
1.矩阵也可由array创建,矩阵即为二维数组。
2.矩阵元素默认按列填充,指定byrow=TRUE可按行填充
行列和维度
-
dim
dim返回数组或矩阵的各个维度;也可分配一个新的维度重塑数组和矩阵,并删除原有维度的名称。
-
nrow和ncol返回矩阵的行数和列数,返回数组的第一和第二个维度。
-
length返回所有维度乘积
维度名
rownames、colnames、dimnames分别返回矩阵(数组)的行名(第一维度名)、矩阵(数组)的列名(第二维度名),数组的各维度名。
索引
四种索引方法:正整数、负整数、逻辑值和元素名称。
注:
1.不同维度上可以使用不同的索引方法,每个维度的下标之间用逗号分隔。
2.要包含所有维度,只需要置空相应下标。
合并矩阵
cbind | 按行合并 |
---|---|
rbind | 按列合并 |
数组算数
要求数组和矩阵各维度相同
- +、-、*、/、^是按元素进行运算
- t可对矩阵进行转置
- 矩阵的内乘和外乘分别为 %*%、%o%(或outer)
- 矩阵求逆运算使用solve