天天看点

R语言矩阵和数组的简易操作

一、R语言矩阵的相关简易操作

1、首先,格式为:

matrix1<-matrix(vector,nrow = number of rows,ncol = number of columns,byrow = False,dimnames = list(rnames,cnames) )

默认按列排列,如果想按行排列将byrow = True即可,这里说明一下:

  1. vector是指要放入矩阵中的向量元素
  2. nrow 、ncol分别指行数和列数
  3. dimnames是指行列的名字,这里注意是列表
> x<-matrix(1:25,nrow = 5,byrow=T)
> rownames<-c("james","perter","sarah","jackson","marin")
> colnames<-c("身高","weight","trace","long","short")
> x
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    6    7    8    9   10
[3,]   11   12   13   14   15
[4,]   16   17   18   19   20
[5,]   21   22   23   24   25
           

这里我们发现行和列的名字并没有展现出来,我们可以用dimnames的方法直接用这个参数,但也可以用rownames(x)直接命名,我更喜欢直接命名的方法,这样方便一些,因为我是一个比较懒的人嘛

2、下面讲讲矩阵下标的使用方法

我们用上面的例子讲一下,

> x<-matrix(1:20,ncol = 5,byrow=T)
> x
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    6    7    8    9   10
[3,]   11   12   13   14   15
[4,]   16   17   18   19   20
> x[2,4]
[1] 9
           

很简单,第几行第几列,用方括号阔起来即可。

二、数组及相关的的简易操作

1、格式:

array1<-array(vector,dimsions,deimnames )

dimsions是指各各维数的最大值,因为数组的维数并不局限于2,下面举个简单的小

例子:

> dim1<-c("A1","A2")
> dim2<-c("B1","B2","B3")
> dim3<-c("C1","C2","C3","C4")
> x<-array(1:24,c(2,3,4),dimnames = list(dim1,dim2,dim3))
> x
, , C1

   B1 B2 B3
A1  1  3  5
A2  2  4  6

, , C2

   B1 B2 B3
A1  7  9 11
A2  8 10 12

, , C3

   B1 B2 B3
A1 13 15 17
A2 14 16 18

, , C4

   B1 B2 B3
A1 19 21 23
A2 20 22 24
           

数组的下标和矩阵是一样的,可以看出数组是矩阵的一种推广。