R 数据科学(十五)—summarize函数+group_by函
2018-09-06 本文已影响23人
一路向前_莫问前程_前程似锦
记住是summarize函数而不是summarise函数
summarize函数可以进数据框折叠成一行
计数本质上返回的是分组后的行数
summarize(flights, delay=mean(dep_delay,na.rm=T))
##所以新的列名就是delay
group_by为分组函数,是如果我们添加了group_by函数后,我们可以理解为电脑自动给我们的数据进行了按照我们指定的列进行了分组整合,该函数通常和summarize函数合在一起使用,也可以和filter,select函数合在一起使用
记住一点:summarize返回值一般为新的一个数据框,且该数据框一般情况下和原始的数据框长度一定不相同,列数应该是group_by参数+summarize参数,例如下面为四列,summarize中间的条件用逗号隔开
tt=flights%>%
group_by(dest)%>%
summarize(count=n(),
dist=mean(distance,na.rm=T),
delay=mean(arr_delay,na.rm=T))

例如下面也应该为四列 group_by函数可以进行多组分类,比如下面先按照年,在按照月,在按照日分类
ttt=flights%>%
group_by(year,month,day)%>%
summarize(delay=mean(arr_delay,na.rm=T))
############################################################
tttt=flights%>%
group_by(year,month,day)%>%
summarize(count=n(),
dist=mean(distance,na.rm=T),
delay=mean(arr_delay,na.rm=T))


count 计数 相当于summarize函数中的n()函数
count函数可以不用先分组,可以直接加上列名字,比如下面二者相同
ttttt=not_cancel%>%
group_by(tailnum)%>%
count()
ttttt2=not_cancel%>%
count(tailnum)
但是如果你要添加一些统计资料,比如求均值之列的推荐用sunmarize,用count函数+sunmarize会报错
count加上sort参数表示从到小排列
ttttt2=not_cancel%>%
count(tailnum,sort = T)