R语言中数组的定义及操作

原理

函数array()可以用于建立数组,matrixcalc包中包含了许多对矩阵操作的函数

步骤

下面的例子建立了一个三维数组,用来表示一家连锁店在四个区域两年的每季度销售额,并将区域二在首年一季度的销售额设为158000:

> quarterly_sales <- array(0,dim=c(3,4,2))

> quarterly_sales[2,1,1] <- 158000

> quarterly_sales

, , 1

[,1] [,2] [,3] [,4]

[1,]      0    0    0    0

[2,] 158000    0    0    0

[3,]      0    0    0    0

, , 2

[,1] [,2] [,3] [,4]

[1,]    0    0    0    0

[2,]    0    0    0    0

[3,]    0    0    0    0

R语言中数组的定义及操作_第1张图片

矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix创建矩阵。

下面的例子用初始化了一个矩阵来表示三个地区的季度销售额。参数nrow和ncol分别表示相应的行数和列数。

> sales_matrix <- matrix(0, nrow = 3, ncol = 4)

> sales_matrix

[,1] [,2] [,3] [,4]

[1,]    0    0    0    0

[2,]    0    0    0    0

[3,]    0    0    0    0


R语言中数组的定义及操作_第2张图片

此外,R也提供了基本的矩阵操作,包括加法,减法,乘法,转置,逆矩阵matrix.inverse()等。需要下载matrixcalc包。下面的R代码建立了一个3×3的矩阵M,并与它的逆矩阵相乘得到单位矩阵。

> library(matrixcalc)

> M <- matrix(c(1,3,3,5,0,4,3,3,3),nrow = 3,ncol = 3)

> M

[,1] [,2] [,3]

[1,]    1    5    3

[2,]    3    0    3

[3,]    3    4    3

> M %*% matrix.inverse(M)

[,1] [,2] [,3]

[1,]    1    0    0

[2,]    0    1    0

[3,]    0    0    1

R语言中数组的定义及操作_第3张图片

你可能感兴趣的:(R语言中数组的定义及操作)