【实验目的】
1)熟悉R语言的基本数据类型
2)熟悉R语言的基本操作
3)熟悉R语言列表的主要运算函数
【实验原理】
在R语言里操作和接触的所有东西都称作对象(object)。对象有很多种类 可以包含各种类型的数据。R 语言里所有的东西都被称为对象,R语言中常见的数据类型有几下几种,分别是字符型 (character)、数值型 (numeric)、复数型 (complex)以及逻辑型 (logical)。通过mode()函数可以查看一个对象的类型。
R语言中的基本运算包括以下:数学计算,比较运算,运算函数,向量常用统计函数,矩阵常用函数集合运算,向量化,从文件中读取数据,概率分布,循环和条件操作。
R语言的数据对象主要包括向量(vector),矩阵(matrix),因子(factors),列表(list),数据框(data frame),函数( function)。
函数是一组组合在一起以执行特定任务的语句。 R语言具有大量内置函数,用户可以创建自己的函数。在R语言中,函数是一个对象,因此R语言解释器能够将控制传递给函数,以及函数完成动作所需的参数。该函数依次执行其任务并将控制返回到解释器以及可以存储在其他对象中的任何结果。
【实验环境】
本次环境是:win7 64位系统+ R 3.3.3
【实验步骤】
一、打开R语言的界面
1.1双击桌面上的程序R x64 3.3.3,出现如下画面,则打开成功。如图所示
二、基本数据类型之数值型
2.1数值型 (numeric),一般数字形式的数据都为数值型(实数或者小数),从传统的数据分类方式来看,即指定量变量。如图所示
构造元素为2,4,6,8,10的向量x,显示出x对应的值
显示出x对应的数据类型。可以看出为numeric。
练习:生成一个起始为2,终止为19,步长为3的向量,问其数据类型是什么?
三、基本数据类型之复数型
3.1复数型,取值可以扩展到虚数,并使用<实部数值>+i<虚部数值>来表示。如图所示
构造100+10i的复数a、显示出a对应的值、显示出a对应的数据类型。可以看出为complex。
四、基本数据类型之字符型
4.1字符型 (character),指向量中每个元素都是一个字符或字符串,即一般的数据分类方式中所说的定性变量。如图所示
构造字符型变量y。显示出y对应的值
显示出y对应的数据类型。可以看出为character
显示出对于字符型变量的长度
显示向量y中每个元素的字符的个数
五、基本数据类型之逻辑型
5.1 逻辑型,取TRUE和FALSE两个固定值,用于指示判断结果,如图所示
构造向量x、显示向量x的值、判断向量x中等于2的元素。
【实验步骤】
一、打开R语言的界面
1.1双击桌面上的程序R x64 3.3.3,出现如下画面,则打开成功。如图所示
round(x, 2) #保留两位小数
round(x, -1) #保留到十位
2.2 取整运算
trunc()函数。进行一般意义上的取整操作。
floor() #向下取整
ceiling() #向上取整
2.3 对数运算
logb(a, b) #以b为底的对数,省略b表示自然对数
log() #自然对数
log10() #以10为底的常用对数
2.4 平方根运算sqrt(),如图所示
2.5 指数运算exp(),表示以e为底的指数运算。如图所示
2.6 三角函数的运算函数。
sin() #正弦
cos() #余弦
asin() #反正弦
acos() #反余弦
atan() #反正切
sinh() #双曲正弦
tanh() #双曲正切
2.7求字符长度nchar()
2.8连接字符paste()函数
语法:paste(..., sep = " ", collapse = NULL)
... - 表示要组合的任何数量的参数。
sep - 表示参数之间的分隔符。它是任选的。
collapse - 用于消除两个字符串之间的空间。但不是在一个字符串的两个词的空间。
print(paste(a,b,c))
print(paste(a,b,c, sep = "-"))
print(paste(a,b,www.58yuanyou.comc, sep = "", collapse = ""))
准备例子:
2.9 取子字符串函数substring()函数,如图10所示
练习回顾:
建立起始值为-3,增量值为5.5,终止值为44的一位数组x
x<-c(0,1,0,1)
y<-c(0,0,1,1)
只比较第一个元素
a<-10;b<-5
加减乘除
余数、整除、绝对值、判断正负
幂, 自然常用e的幂, 平方根, 对数
a<-10
b<-5
c<-4
c的b次幂 c的1/b次幂 c的b/10次幂
自然常数e的1次幂和3次幂
以2为底的8对数、以10为底100的对数
【实验目的】
1)熟悉R语言的基本数据类型
2)熟悉R语言的基本操作
3)熟悉R语言因子的主要运算函数
【实验原理】
在R语言里操作和接触的所有东西都称作对象(object)。对象有很多种类 可以包含各种类型的数据。R 语言里所有的东西都被称为对象,R语言中常见的数据类型有几下几种,分别是字符型 (character)、数值型 (numeric)、复数型 (complex)以及逻辑型 (logical)。通过mode()函数可以查看一个对象的类型。
R语言中的基本运算包括以下:数学计算,比较运算,运算函数,向量常用统计函数,矩阵常用函数集合运算,向量化,从文件中读取数据,概率分布,循环和条件操作。
R语言的数据对象主要包括向量(vector),矩阵(matrix),因子(factors),列表(list),数据框(data frame)函数( function)。 因子是用于对数据进行分类并将其存储为级别的数据对象。 它们可以存储字符串和整数。 它们在具有有限数量的唯一值的列中很有用。 像“男性”,“女性”和True,False等。它们在统计建模的数据分析中很有用。使用factor()函数通过将向量作为输入创建因子
【实验环境】
本次环境是:win7/2008 64位系统+ R 3.3.3
【实验步骤】
一、打开R语言的界面
1.1双击桌面上的程序R x64 3.3.3,出现如下画面,则打开成功。如图所示
二、因子
2.1因子介绍。
因子用来存储类别变量(categorical variables)和有序变量,这类变量不能用来计算而只能用来分类或者计数。因子表示分类变量,有序因子表示有序变量。生成因子www.58yuanyou.com数据对象的函数是factor(),语法是factor(data, levels, labels, ...),其中data是数据,levels是因子水平向量,labels是因子的标签向量。
生成一个向量、显示向量的内容、根据向量来生成因子,使用的factor()函数、显示因子的内容。
数据多一点可以更好的观察
2.2因子的创建。
生成因子数据对象的函数是factor(),语法是factor(data, levels, labels, ...),其中data是数据,levels是因子水平向量,labels是因子的标签向量。
上面结果可以看出通过labels项,把值替换为labels中设置的标签。
可以看出可以通过标签向量设置不同的标签。
2.3设置部分标签。
当labels中向量的个数少于实际的标签数时,未被设置标签的元素的标签将会NAN.
2.4把因子转换为一个字符向量。
使用as.原由网vector()函数把因子转换为一个字符向量
2.5把因子转换为一个数字向量。
使用as.numeric()函数把因子转换为一个数字向量
注意对比数字向量和字符向量的区别。
2.6创建一个有序的因子。
使用ordered()函数来原由网创建一个有序的因子
2.4将一般的数据分组并且转换为因子。
用cut()函数将一般的数据转换成因子或有序因子
可以看出将exam向量分成了三组,同时转变成了因子的形式。
2.5 cut()函数切分成自己设置的组。
可以通过修改breaks参数来切分成自己设置的组
2.6验证cut()切分之后是否变为因子。
可以看出通过切分,数据变成了因子。
2.7查看cut()之后的因子标签。
可以看出与上面我们通过breaks来切分的设置是一致的。
2.8切分之后的数据变成有序因子。
使用ordered()命令
【实验目的】
1)掌握R语言的矩阵操作
2)熟悉R语言的基本数据类型
3)熟悉R语言的基本操作
【实验原理】
在R语言里操作和接触的所有东西都称作对象 (object)。对象有很多种类可以包含各种类型的数据。R 语言里所有的东西都被称为对象,R语言中常见的数据类型有几下几种,分别是字符型(character)、数值型 (numeric)、复数型 (complex)以及逻辑型 (logical)。通过mode()函数可以查看一个对象的类型。
R语言中的基本运算包括以下:数学计算,比较运算,运算函数,向量常用统计函数,矩阵常用函数集合运算,向量化,从文件中读取数据,概率分布,循环和条件操作。
R语言的数据对象主要包括向量(vector),矩阵(matrix),因子(factors),列表(list),数据框(data frame)函数( function)。
矩阵是其中元素以二维矩形布局布置的R对象。 它们包含相同原子类型的元素。 虽然我们可以创建一个只包含字符或只包含逻辑值的矩阵,但它们没有太多用处。 我们使用包含数字元素的矩阵用于数学计算。使用matrix()函数创建一个矩阵。
【实验环境】
本次环境是:win7/原由网2008 64位系统+ R 3.3.3
【实验步骤】
一、打开R语言的界面
1.1双击桌面上的程序R x64 3.3.3,出现如下画面,则打开成功。
二、产生矩阵
2.1产生矩阵matrix()。
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) #列求反排列