第7章数据处理与描述性统计
第7章 数据处理与 描述 性统计
本章学习目标1.掌握apply函数族的应用2.掌握如何对清理过的数据进行处理3.学会利用R语言对数据做描述性统计
本章学习目标 1. 掌握apply函数族的应用 2. 掌握如何对清理过的数据进行处理 3. 学会利用R语言对数据做描述性统计
1.apply()函数(P141)2. lapply()函数 (P144)3.sapply()函数(P145)4. vapply()函数(P147)7.1apply()函数族5.mapply()函数(P147)6.tapply()函数(P148)7. rapply()函数(P149)8.eapply()函数(P150)
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.1apply函数族1.apply()函数(P141)apply()函数是apply函数族中的核心函数,在R语言中通常会使用apply()函数代替for循环。apply)函数①可以对矩阵、数据框、数组,按行或列进行循环计算;②可以对子元素进行迭代;③可以把子元素以参数的形式传到自定义的函数中;④可以返回自定义函数的计算结果。函数语法格式:apply(X,MARGIN,FUN,...)参数列表:>X:数组、矩阵、数据框等目标数据。>MARGIN:按行计算或按按列计算,1表示按行,2表示按列。>FUN:自定义函数。》.…·更多参数
7.1 apply函数族 1. apply( )函数(P141) apply( )函数是apply函数族中的核心函数,在R语言中通常会使用apply( )函数代替for循环。 apply( )函数①可以对矩阵、数据框、数组,按行或列进行循环计算;②可以对子元素进行迭 代;③可以把子元素以参数的形式传到自定义的函数中;④可以返回自定义函数的计算结果。 函数语法格式: apply(X, MARGIN, FUN, .) 参数列表: ➢ X:数组、矩阵、数据框等目标数据。 ➢ MARGIN:按行计算或按按列计算,1表示按行,2表示按列。 ➢ FUN:自定义函数。 ➢ .:更多参数
7.1apply函数族创建一个数据框存放到对象x中,然后按行循环,让数据框的x1列加1,并计算出x1,x2列的均值。#把数据框按行做循环,每行分别传递给myfun()函数,设置"."#创建data.frame参数c1,c2对应my_fun()函数的第二、三个参数>x<-cbind(x1 =5,x2=c(1:6))>x<-as.data.frame(x)>x>apply(x,1,my_fun,c1='x1',c2=c(x1',x2'))x1x2[,1][,2][,3][,4] [5] [,6]151[1,]66.066.066.0[2,] 3 3.54 4.55 5.52 5 2353454555注意:656#自定义函数my_fun()对x1列加1并计算均值这个例子用for循环也可以完成,但是耗损的时间比较多。第一个参数x为数据第二、三个参数为自定义参数。my_fun<-function(x, c1, c2) (c(sum(x[c1],1), mean(x[c2]))
# 创建data.frame > x <- cbind(x1 = 5, x2 = c(1:6)) > x<-as.data.frame(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<- function(x, c1, c2) { c(sum(x[c1],1), mean(x[c2])) } 创建一个数据框存放到对象x中,然后按行循环,让数据框的x1列加1,并计算出x1,x2列的均值。 7.1 apply函数族 # 把数据框按行做循环,每行分别传递给my_fun( )函数,设置“.” 参数c1,c2对应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循环也可以完成,但是耗损的时间比较多