熟悉matrix和array的区别和数据格式

首先我们先建立一个matrix,矩阵。这里外围的括号表示直接输出x。

(x=matrix(nrow = 2,ncol=3))
##      [,1] [,2] [,3]
## [1,]   NA   NA   NA
## [2,]   NA   NA   NA

由于建立的数据并未给定值,因此是NA,注意NA占用一个字节,但是NULL不占用

接下来我们设定数值看一下matrix是什么样子。这里ncol表示多少列,nrow表示多少行

(x=matrix(1:6,  nrow = 2,ncol = 3))
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6

dim()表示维度的意思,我们可以把ncolnrow这样的参数放进去,然后用一列数据组合成matrix,如下所示

y=1:8
dim(y)=c(2,4)
y
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    5    7
## [2,]    2    4    6    8
class(y)
## [1] "matrix"

把1到8赋值给y,然后把y的维度设置为2行4列,这样y就变成了2行4列的矩阵了。

而array比matrix可以多几个维度,matrix只有两个维度,dim可以有三个,比如

z=array(1:24,dim=c(2,3,4))
z
## , , 1
## 
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
## 
## , , 2
## 
##      [,1] [,2] [,3]
## [1,]    7    9   11
## [2,]    8   10   12
## 
## , , 3
## 
##      [,1] [,2] [,3]
## [1,]   13   15   17
## [2,]   14   16   18
## 
## , , 4
## 
##      [,1] [,2] [,3]
## [1,]   19   21   23
## [2,]   20   22   24

下面对向量、矩阵、数组、数据框、列表进行演示,其实他们是层级递进的关系,有小到大