当前位置:文档之家› R语言实验指导书(二)

R语言实验指导书(二)

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, stringsAsFactors = 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提取出来。

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

6)将lastname和firstname与roster合并,同时去掉roster的第一列。

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

三、实验要求要求学生学会一些简单的数值和字符处理函数。

学会如何自己创建一个函数。

和对一些简单问题的处理。

实验七基本统计分析实验一、实验目的1.学会使用summary函数和Hmisc包中的describe函数来计算统计量。

2.使用table函数生成一维、二维、多维列联表。

3.学会用R实现卡方独立性检验。

4.学会用R进行相关性的度量。

5.学会用R进行Pearson、Spearman和Kendall相关。

6.学会用R进行相关性的显著性检验。

7.学会用R进行组间差异的非参数检验。

二、实验内容1.描述性统计分析1)对R自带的数据集rock(48块石头的形态数据)使用summary函数、Himisc包中的describe函数、pastecs包中的stats.desc函数计算描述性统计量。

2)使用aggregate、doby中的summaryBy对sleep数据集的group列分组获取描述性统计量。

2.频数表和列联表1)加载vcd包中的Arthritis数据集使用table生成简单的频数统计表。

2)使用table、xtabs对Arthritis生成二维列联表。

并使用addmargins为这些表格添加边际和(根据Treatment、Improved)。

3)使用xtabs,table生成三维列联表(根据Treatment、sex、Improved三个因子)。

4)使用chisq.testhan()函数对二维表的行和列进行卡方独立性检验,并观察他们是否独立。

5)使用vcd包中的assocstats()函数计算二维列联表的phi系数、列联系数和Cramer’s V系数。

3.相关1)Pearson、Spearman和Kendall相关a)对state.x77数据集计算方差和协方差、Pearson积差相关系数、Spearman等级相关系数。

b)使用psych包中的corr.test对state.x77数据集Illiteracy、Murder因子计算相关显著性检验4.T检验1)比较了南方(group 1)和非南方(group 0)各州的监禁概率(使用MASS包中的t.test独立样本的t检验,So因子为是否为南方,Prob因子表示监禁率)。

5.组间差异的非参数检验。

1)使用Mann–Whitney U检验回答4中关于监禁率的问题,。

三、实验要求通过本次实验让学生学会基本统计分析用到的频数表、列联表、相关、t检验、组间差异的分参数检验。

让学生可以掌握一些基本的统计分析的概念和如何用R来进行统计分析。

相关主题