【实验目的】
1)掌握R语言的矩阵运算
2)熟悉R语言的基本数据类型
3)熟悉R语言的基本操作
【实验原理】
你用R语言操作和触摸的一切都叫做对象。有许多类别的对象可以包含各种类型的数据。R语言中的一切都叫做对象。R语言中有几种常见的数据类型,即字符型、数字型、复杂型和逻辑型。mode()函数允许您查看对象的类型。
R语言中的基本操作包括:数学计算、比较运算、运算函数、向量公共统计函数、矩阵公共函数集运算、矢量化、从文件中读取数据、概率分布、循环和条件运算。
R语言的数据对象主要包括向量、矩阵、因子、列表和数据框函数。
矩阵是一个R对象,其中元素以二维矩形布局排列。它们含有相同原子类型的元素。虽然我们可以创建一个只包含字符或逻辑值的矩阵,但它们用处不大。我们使用包含数字元素的矩阵进行数学计算。使用matrix()函数创建矩阵。
[实验环境]
这个环境是:win7/2008 64位系统R 3.3.3
[实验步骤]
首先,打开R语言的界面
1.1双击桌面上的程序R x64 3.3.3,会出现如下画面,打开成功。
二、生成矩阵
2.1生成矩阵矩阵()。
2.2生成对角矩阵和单位矩阵。
Diag()函数用于生成对角矩阵和单位矩阵。注意生成单元矩阵和对角矩阵的区别。
接受最后一个
2.3下标和矩阵的选择。请注意,在选择某一列或某一行时,不能省略" "。
三.矩阵的简单运算
3.1矩阵加法一般是对应元素之间的运算,所以当运算两个或两个以上的矩阵时,要求它们包含相同数量的元素(或者一个是另一个的整数倍)。
>3.2 矩阵的减法运算,一般是对应元素之间的运算。
3.3矩阵的代数乘法运算,*表示对应元素之间的相乘
3.4 矩阵的乘法运算,%*%表示矩阵的乘法运算,即对应行乘以对应列,要注意矩阵相称需要满足x的列数等于y的行数,注意与矩阵的代数相乘进行比较区分。
3.5 获取矩阵的行和列的维数。
dim()可以获取矩阵的行和列的维数
也可以使用ncol()获取列数,使用nrow()获取行数
向量转换为矩阵。as.matrix(x)函数
判断是否为矩阵,使用is.matrix()函数
生成对角矩阵或者单位矩阵。diag()函数
求矩阵的特征值和特征向量eigen()函数
2.5求矩阵的行列式。det()函数
图2
求矩阵的逆矩阵。solve()函数
矩阵的QR分解,使用qr()函数
矩阵的奇异值分解。使用svd()函数
矩阵的转置,使用t()函数
矩阵apply()运算函数
语法是apply(data, dim, function),dim取1表示对行运用函数,取2表示对列运用函数 sum表示在行和列上的求和运算。
对矩阵在行或者列上求均值。
apply(xx, 1, mean) #行均值,等同于colMeans(xx)
apply(xx, 2, mean) #列均值,等同于colMeans(xx)
对矩阵在行或者列上求方差。
apply(xx, 1, var) #行求方差
apply(xx, 2, var) #列求方差
对矩阵在行或者列上求最大值。
apply(xx, 1, max) #行求最大值
apply(xx, 2, max) #列求最大值
对矩阵在行或者列上求最小值。
apply(xx, 1, min) #行求最小值
apply(xx, 2, min) #列求最小值
对矩阵在行或者列上求反排列。
apply(xx, 1, rev) #行求反排列
apply(xx, 2, rev) #列求反排列