实验目的

熟悉并掌握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

矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数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也提供了基本的矩阵操作,包括加法,减法,乘法,转置,逆矩阵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

results matching ""

    No results matching ""