4-5split
split:根据因子或因子列表将向量或者其他对象进行分组,通常与lapply一起使用。
split(参数):split(向量/列表/数据框,因子/因子列表)
x<-c(rnom(5),runif(5),rnorm(5,1))
f<-gl(3,5)
split(x,f)(返回了列表,有3个水平,每个水平有5个元素)
lapply(split(x,f),mean)
head(airquality)
s<-split(airquality,airquality$Month)(按月份来查看空气质量的数据)
table(airquality$Month)(airquality到底包含了多少个月份的数据并且每个月下面多少条记录)
lapply(s,function(x) colMeans(x[,c("Ozone","Wind","Temp")]))(计算每1个月的臭氧含量、风速和温度的平均值)
sapply(s,function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm=TRUE))(不包含缺失值)
split
根据因子或因子列表将向量或其他对象分组
通常与lapply一起使用
split(向量/列表/数据框,因子/因子列表)
head(airquality) #调用R库中本身自带的空气质量
s<- split(airquality,airquality$Month) #以月份分割数据
table(airquality$Month) #输出统计表格
sapply(s,function(x),colMeans([,c("Ozone","Wind"))],na.rm=TRUE))
输出指定列的均值,#na.rm = TRUE自动去除缺失值
split(x,f)将x按照f进行分组
lapply(split(x,f),mean)在lapply函数中先传入分好组的列表,在传入要对分好组的列表做什么
split(airquality,airquality$Month)对该列表按照月份分组,用$引用这一列
table(airquality$Month)可以得知一共有几个月份
求均值是对整个列,所以行不用注明,列可以用c函数
将想求的列组合起来
用lapply求出来一个列表,里面含有缺失值,用sapply观看起来更省力
na.rm=TURE可以忽略缺失值,所得的结果内不含缺失值,因此过程中的缺失值十分重要
split函数
na.rm=TRUE的含义是在处理参数时不要包括缺失值
split(向量/列表/数据框,因子/因子列表)可以根据因子或因子列表将向量或其他对象分组,通常与lapply一起使用,可对列表中的元素进行运算
split(向量/列表/数据框,因子/因子列表):根据因子或因子列表将向量或其他对象分组,通常与lapply一起使用;
lapply(split(airquality,airquality$Month), function(x) colMeans(x[,c("Ozone","Wind")], na.rm = TRUE))
split(x,f)//将x按照f因子分为组,组数由f定
lapply(split(x,f),mean)//传入分好组之后的列表,对列表进行的操作
sapply(s,function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm=TRUE))//除去缺失值
#split函数
#根据因子或因子列表将向量或其它对分组 #与lapply联用 x <- c(rnorm(5), runif(5),rnorm(5,1)) f<-gl(3,5) split(x,f)#f因子中的水平1,2,3 lapply(split(x,f),mean)#对列表中得每一个元素求平均值 s<-split(airquality,airquality$Month)#$符号代表选择Month table(airquality$Month) lapply(s,function(x)colMeans(x[,c("Ozone","Wind","Temp")]))#s其实是一个数据框;计算平均值时,未将缺失值排除,故得出一些缺失值结果 sapply(s,function(x)colMeans(x[,c("Ozone","Wind","Temp")],na.rm = TRUE))#使用na.rm=TRUE排除缺失值并求平均值,sapply对lapply结果进行了化简
split(向量/列表/数据框, 因子/因子列表)
x <- c(rnorm(5), runif(5),rnorm(5,1))
f <- gl(3,5)
split(x,f)
#split函数返回了一个列表,第一个名称是1,对应水平1对应的x中前五个元素,水平2对应x中间五个元素,水平3对应x后五个元素
lapply(split(x,f) , mean)
split函数主要用于将一组数据以一定的规则分组并返回一个list。
split(x, f)
x: 一个待分组的向量或者data frame
f: 一个factor或者list(如果list中元素交互作用于分组中),以此为规则将x分组
rm是remove的意思,例如你指定na.rm=T,就会移除na数据
split
#根据因子或者因子列表将向量或其他对象分组
#通常与lapply一起使用
#参数格式:split(向量/列表/数据框,因子/因子列表)
x <- c(rnorm(5), runif(5),rnorm(5,1))
f <- gl(3,5) split(x,f) lapply(split(x,f), mean)
lapply(split(x,f), sum) head(airquality) split(airquality,airquality$Month)#按照month分组查看
s <- split(airquality,airquality$Month)
table(airquality$Month)#查看每个Month下包含的记录数
lapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")]))# 求平均值
sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")]))#简化显示结果
sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm = T))#处理缺失值