《R语言》课程教学资源(PPT课件)第07章 数据处理与描述性统计

第7章 数据处理与 描述 性统计

本章学习目标 1. 掌握apply函数族的应用 2. 掌握如何对清理过的数据进行处理 3. 学会利用R语言对数据做描述性统计

7.1 apply( )函数族 1. apply( )函数 (P 141) 2. lapply( )函数 (P144) 3. sapply( )函数 (P145) 4. vapply( )函数 (P147) 5. mapply( )函数 (P147) 6. tapply( )函数 (P148) 7. rapply( )函数 (P149) 8. eapply( )函数 (P150)

7.1 apply函数族 1. apply( )函数(P141) apply( )函数是apply函数族中的核心函数,在R语言中通常会使用apply( )函数代替for循环。 apply( )函数①可以对矩阵、数据框、数组,按行或列进行循环计算;②可以对子元素进行迭 代;③可以把子元素以参数的形式传到自定义的函数中;④可以返回自定义函数的计算结果。 函数语法格式: apply(X, MARGIN, FUN, .) 参数列表: ➢ X:数组、矩阵、数据框等目标数据。 ➢ MARGIN:按行计算或按按列计算,1表示按行,2表示按列。 ➢ FUN:自定义函数。 ➢ .:更多参数

# 创建data.frame > x x x x1 x2 1 5 1 2 5 2 3 5 3 4 5 4 5 5 5 6 5 6 #自定义函数my_fun( )对x1列加1并计算均值, 第一个参数x为数据,第二、三个参数为自定义 参数。 my_fun apply(x,1, my_fun,c1='x1',c2=c('x1','x2')) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 6 6.0 6 6.0 6 6.0 [2,] 3 3.5 4 4.5 5 5.5 注意: 这个例子用for循环也可以完成,但是耗损的时间比较多

7.1 apply函数族 2. lapply( )函数 (P144) lapply( )函数是循环操作函数之一,用来对list类型、data.frame类型数据集进行循环,并 返回和X长度同样的list结构作为结果数据集,它和apply( )函数表面上的区别是以字母“l” 开头,就可以判断lapply( )函数和apply( )函数主要区别在于返回结果数据集的类型。 函数语法格式: lapply(X, FUN, .) 参数列表: ① X:list类型、data.frame类型的数据集合。 ② FUN:自定义函数。 ③ .:更多参数

# 构建一个list数据集x,分别包括a,b,c三个key值。 > x x $a [1] 1 2 3 4 5 6 7 8 9 10 $b [1] 4.685836 4.294409 6.631830 8.219388 10.430921 8.434207 $c [1] TRUE FALSE FALSE TRUE FALSE 【例7-1】计算list中的每个key对应的数据的分位数。(P144) 7.1 apply函数族 # 分别计算每个KEY对应该的数据的分位数。 > lapply(x,quantile) $a 0% 25% 50% 75% 100% 1.00 3.25 5.50 7.75 10.00 $b 0% 25% 50% 75% 100% 4.294409 5.172334 7.425609 8.380503 10.430921 $c 0% 25% 50% 75% 100% 0 0 0 1 1

> x lapply(data.frame(x), sum) $x1 [1] 30 $x2 [1] 21 【例7-2】对数据框的列求和。 7.1 apply函数族 注意: 优点:lapply( )函数可以很方便地把list数据集进行循 环操作,lapply( )函数还可以用于对data.frame数据 集按列进行循环操作。 不足:但它不能像apply( )函数那样对向量或矩阵对 象进行循环操作

7.1 apply函数族 3. sapply( )函数(P145) sapply( )函数与lapply( )函数作用相似,sapply( )函数只是在lapply( )函数的基础上增加了 simplify参数和USE.NAMES参数,主要就是优化了输出。Sapply( )函数在simplify参数和 USE.NAMES参数都使用默认值的时候返回值为向量,这是和lapply( )函数的最大区别。 函数语法格式: sapply(X, FUN, ., simplify=TRUE, USE.NAMES = TRUE) 参数列表: ① X:数组、矩阵、数据框。 ② FUN:自定义函数。 ③ .:更多参数。 ④ Simplify:是否数组化,默认值是TRUE,可以设置FALSE关闭数组化。比较特别的是它还 有一个值是“array”,如果参数值设置为“array”,输出结果按数组进行分组。 ⑤ USE.NAMES:默认值是TRUE,如果X的内容为字符串,那么如果没有名字就用X的内容 中的字符传来命名,如果设置为FALSE则不去命名

> x sapply(x, sum) [1] 5 5 5 5 5 5 1 2 3 4 5 6 # 对数据框计算 > sapply(data.frame(x), sum) x1 x2 30 21 # 检查结果类型,来取定sapply( )函数返回类型为向量,而 lapply( )函数返回类型为list > class(lapply(x, sum)) # 列表 [1] “list” > class(sapply(x, sum)) # 数值向量 [1] “numeric” 【例7-3】使用sapply( )函数来完成矩阵,数据框的计算需求。 7.1 apply函数族 注意: 如果simplify=FALSE和USE.NAMES=FALSE,即simplify 参数和USE.NAMES参数不使用默认值,那么sapply( ) 函数就和lapply( )函数一样了。 > lapply(data.frame(x) , sum) > sapply(data.frame(x), sum, simplify=F , USE.NAMES = F) # 返回类型都是列表!
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《R语言》课程教学资源(PPT课件)第06章 数据预处理.pptx
- 《R语言》课程教学资源(PPT课件)第05章 基本图形.pptx
- 《R语言》课程教学资源(PPT课件)第04章.pptx
- 《R语言》课程教学资源(PPT课件)第03章 R函数与流程控制.pptx
- 《R语言》课程教学资源(PPT课件)第02章 R语言基础.pptx
- 《R语言》课程教学资源(PPT课件)第01章 进入R的世界.pptx
- 《Python数据分析》课程电子教案(PPT课件)第10章 SciPy科学计算.pptx
- 《Python数据分析》课程电子教案(PPT课件)第9章 时间序列数据分析.pptx
- 《Python数据分析》课程电子教案(PPT课件)第8章 pyecharts可视化.pptx
- 《Python数据分析》课程电子教案(PPT课件)第7章 利用Seaborn绘图.pptx
- 《Python数据分析》课程电子教案(PPT课件)第6章 Matplotlib数据可视化基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第5章 Pandas数据载入与预处理.pptx
- 《Python数据分析》课程电子教案(PPT课件)第4章 pandas统计分析基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第3章 NumPy数值计算基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第2章 Python编程基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第1章 数据分析与可视化概述新.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.8 外排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.5 归并排序 10.6 基数排序 10.7 各种内排序方法的比较和选择.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.4 选择排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.1 排序的基本概念 10.2 插入排序 10.3 交换排序.pptx
