R语言实验指导书(二)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

R语言实验指导书(二)

2016年10月27日

实验三创建和使用R语言数据集

一、实验目的:

1.了解R语言中的数据结构。

2.熟练掌握他们的创建方法,和函数中一些参数的使用。

3.对创建的数据结构进行,排序、查找、删除等简单的操作。

二、实验内容:

1.向量的创建及因子的创建和查看

有一份来自澳大利亚所有州和行政区的20个税务会计师的信息样本 1 以及他们各自所在地的州名。州名为:tas, sa, qld, nsw, nsw, nt, wa, wa, qld, vic, nsw, vic, qld, qld, sa, tas, sa, nt, wa, vic。

1)将这些州名以字符串的形式保存在state当中。

2)创建一个为这个向量创建一个因子statef。

3)使用levels函数查看因子的水平。

2.矩阵与数组。

i.创建一个4*5的数组如图,创建一个索引矩阵如图,用这个索引矩

阵访问数组,观察结果。

3.将之前的state,数组,矩阵合在一起创建一个长度为3的列表。

4.创建一个数据框如图。

5.将这个数据框按照mpg列进行排序。

6.访问数据框中drat列值为3.90的数据。

三、实验要求

要求学生熟练掌握向量、矩阵、数据框、列表、因子的创建和使用。

实验四数据的导入导出

一、实验目的

1.熟练掌握从一些包中读取数据。

2.熟练掌握csv文件的导入。

3.创建一个数据框,并导出为csv格式。

二、实验内容

1.创建一个csv文件(内容自定),并用readtable函数导入该文件。

2.查看R语言自带的数据集airquality(纽约1973年5-9月每日空气质

量)。

3.列出airquality的前十列,并将这前十列保存到air中。

4.查看airquality中列的对象类型。

5.查看airquality数据集中各成分的名称

6.将air这个数据框导出为csv格式文件。(write.table (x, file ="", sep

="", s =TRUE, s =TRUE, quote =TRUE))

三、实验要求

要求学生掌握从包中读取数据,导入csv文件的数据,并学会将文件导出。

实验五 R语言数据的清洗

一、实验目的

1.查看数据集的缺失值,并学会对缺失值进行处理。

2.对异常变量重新赋值。

3.将某一列的字符型转化为日期型。

4.利用subset()获取子集。

二、实验内容

1.有一个数据框代码如下,使用summary函数查看,那一列含有缺失值,

有几个。并查看wind列的最大值。

Ozone <- c(41, 36, 12, 18, NA, 28)

Solar.R <- c(190, 118, 149, 313, NA, NA)

wind <- c(7.4, 8.0, 12.6, 11.5, 14.3, 14.9)

Temp <- c(67, 82, 74, 62, 86, 66)

date <- c("1997/05/01","1997/05/02","1997/05/03","1997/05/04",

"1997/05/05","1997/05/06")

air <- data.frame(date,Ozone,Solar.R,wind,Temp, stringsAsFacto

rs = FALSE)

2.使用class()函数查看date函数的类型,并将其转化为data型,格

式为月/日/年。

3.使用subset()根据Temp列获取air中Temp大于60小于70的数据。

4.将air中含有缺失值的列去掉。

5.找出Temp中大于85的值将其设置为缺失值。

6.创建一个air1包含两个列q1,q2。用cbind函数添加到air中。

7.使用names函数查看air的列名,并根据列自己创建一个数据框。使用

rbind函数添加到air中

三、实验要求

要求学生会用subset获取子集,学会对缺失值进行一些简单的处理和对一些异常值的查找和修改。

实验六高级数据管理

一、实验目的

1.学会简单的数值和字符处理函数。

2.学会自己编写一个函数。

二、实验内容

1.使用下面代码创建roster数据集。

Student <- c("John Davis", "Angela Williams",

"Bullwinkle Moose", "David Jones",

"Janice Markhammer", "Cheryl Cushing",

"Reuven Ytzrhak", "Greg Knox", "Joel England",

"Mary Rayburn")

Math <- c(502, 600, 412, 358, 495, 512, 410, 625, 573, 522)

Science <- c(95, 99, 80, 82, 75, 85, 80, 95, 89, 86)

English <- c(25, 22, 18, 15, 20, 28, 15, 30, 27, 18)

roster <- data.frame(Student, Math, Science, English,

stringsAsFactors=FALSE)

2.使用length函数查看Student的长度。

3.计算该班级数学的平均成绩,最高成绩。

4.将成绩单按照姓和名进行排序,将学生的各科考试成绩组合为单一的成

绩衡量指标、基于相对名次(前 20%,下20%,等等)给出从A到F的

评分。

1)使用quantile函数按20%,40%,60%,80%,求分位数。

2)使用变量重命名的方法将grade列分为A、B、C、D、F几个等

级。

3)使用strsplit 函数将Student列的名字分割,存到name中。

4)创建一个函数x1,功能为实现返回值为传入参数的第一个值。

5)使用sapply 函数将name中的firstname提取出来。(“sap

ply(data,function)”)同理即可提取出lastname。

6)将lastname和firstname与roster合并,同时去掉roster

的第一列。

7)将成绩单用姓和名进行排序。

三、实验要求

要求学生学会一些简单的数值和字符处理函数。学会如何自己创建一个函数。和对一些简单问题的处理。

相关文档
最新文档