R语言试验指导书02
R R 语言实验指导书(二)语言实验指导书(二) 实验三实验三 创建和使用创建和使用 R R 语言数据集语言数据集 一、 1. 2. 3. 二、 1. 实验目的 了解 R 语言中的数据结构。 熟练掌握他们的创建方法,和函数中一些参数的使用。 对创建的数据结构进行,排序、查找、删除等简单的操作。 实验内容 向量的创建及因子的创建和查看 有一份来自澳大利亚所有州和行政区的 20 个税务会计师的信息样本 1 以 及他们各自所在地的州名。州名为tas, sa, qld, nsw, nsw, nt, wa, wa, qld, vic, nsw, vic, qld, qld, sa, tas, sa, nt, wa, vic。 1 将这些州名以字符串的形式保存在 statestate 当中。 2 创建一个为这个向量创建一个因子 statefstatef。 3 使用 levelslevels 函数查看因子的水平。 2. 矩阵与数组。 i.创建一个 4*5 的数组如图,创建一个索引矩阵如图,用这个索引矩 阵访问数组,观察结果。 3. 将之前的 statestate,数组,矩阵合在一起创建一个长度为 3 的列表。 4. 创建一个数据框如图。 5. 将这个数据框按照 mpgmpg 列进行排序。 6. 访问数据框中 drat 列值为 3.90 的数据。 三、实验要求 要求学生熟练掌握向量、矩阵、数据框、列表、因子的创建和使用。 实验四实验四 数据的导入导出数据的导入导出 一、一、 1. 2. 3. 二、二、 1. 2. 3. 4. 5. 6. 三、三、 实验目的实验目的 熟练掌握从一些包中读取数据。 熟练掌握 csv 文件的导入。 创建一个数据框,并导出为 csv 格式。 实验内容实验内容 创建一个 csv 文件(内容自定) ,并用 readtablereadtable 函数导入该文件。 查看 R 语言自带的数据集 airqualityairquality(纽约 1973 年 5-9 月每日空气质 量) 。 列出 airqualityairquality 的前十列,并将这前十列保存到 air 中。 任选三个列,查看 airqualityairquality 中列的对象类型。 使用 names 查看 airqualityairquality 数据集中各列的名称 将 airair 这个数据框导出为 csv 格式文件。 (write.table x, file ““, sep write.table x, file ““, sep ““, row.names TRUE, col.names TRUE, quote TRUE““, row.names TRUE, col.names TRUE, quote TRUE) 实验要求实验要求 要求学生掌握从包中读取数据,导入 csv 文件的数据,并学会将文件导出。 实验五实验五 R R 语言数据的清洗语言数据的清洗 一、一、 1. 2. 3. 4. 二、二、 1. 实验目的实验目的 查看数据集的缺失值,并学会对缺失值进行处理。 对异常变量重新赋值。 将某一列的字符型转化为日期型。 利用 subsetsubset()()获取子集。 实验内容实验内容 有一个数据框代码如下,使用 summarysummary 函数查看,那一列含有缺失值, 有几个。并查看 windwind 列的最大值。 Ozone - c41, 36, 12, 18, NA, 28 Solar.R - c190, 118, 149, 313, NA, NA wind - c7.4, 8.0, 12.6, 11.5, 14.3, 14.9 Temp - c67, 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.framedate,Ozone,Solar.R,wind,Temp, stringsAsFacto rs FALSE 使用 classclass()()函数查看 datedate 的类型,并将其转化为 date 型,格式为 年/月/日。 使用 subsetsubset()()根据 TempTemp 列获取 airair 中 TempTemp 大于 60 小于 70 的数据。 将 airair 中含有缺失值的列去掉。 找出 TempTemp 中大于 85 的值将其设置为缺失值。 创建一个数据框 air1 包含两个列 q1q1, q2q2。 用 cbindcbind 函数添加到 air 中。 使用 namesnames 函数查看 airair 的列名,并根据列自己创建一个数据框。 使用 rbindrbind 函数添加到 airair 中 实验要求实验要求 2. 3. 4. 5. 6. 7. 三、三、 要求学生会用 subset 获取子集,学会对缺失值进行一些简单的处理和对一些异常值的 查找和修改。 实验六实验六 高级数据管理高级数据管理 一、一、 1. 2. 二、二、 1. 实验目的实验目的 学会简单的数值和字符处理函数。 学会自己编写一个函数。 实验内容实验内容 使用下面代码创建并查看 rosterroster 数据集。 Student - c“John Davis“, “Angela Williams“, “Bullwinkle Moose“, “David Jones“, “Janice Markhammer“, “Cheryl Cushing“, “Reuven Ytzrhak“, “Greg Knox“, “Joel England“, “Mary Rayburn“ Math - c502, 600, 412, 358, 495, 512, 410, 625, 573, 522 Science - c95, 99, 80, 82, 75, 85, 80, 95, 89, 86 English - c25, 22, 18, 15, 20, 28, 15, 30, 27, 18 roster - data.frameStudent, Math, Science, English, stringsAsFactorsFALSE 2. 使用 lengthlength 函数查看 StudentStudent 列列的长度。 3. 计算该班级数学的平均成绩,最高成绩。 4. 将成绩单按照姓和名进行排序,将学生的各科考试成绩组合为单一的成 绩衡量指标、基于相对名次(前 20,下 20,等等)给出从 A 到 F 的 评分。 1 使用 scale将 Math,Science,English,中心化标准化。 2 通过函数 mean来计算各行的均值以获得综合得分,并使用函数 cbind将其添加到 roster 中 3使用 quantilequantile 函数按 20,40,60,80,求分位数。 4使用变量重命名的方法将 g