R 数据科学(十五)—summarize函数+group_by函数

记住是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))
R 数据科学(十五)—summarize函数+group_by函数_第1张图片
image.png

例如下面也应该为四列 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))

R 数据科学(十五)—summarize函数+group_by函数_第2张图片
image.png
R 数据科学(十五)—summarize函数+group_by函数_第3张图片
image.png

count 计数 相当于summarize函数中的n()函数

count函数可以不用先分组,可以直接加上列名字,比如下面二者相同

ttttt=not_cancel%>%
  group_by(tailnum)%>%
  count()

ttttt2=not_cancel%>%
  count(tailnum)

但是如果你要添加一些统计资料,比如求均值之列的推荐用sunmarize,用count函数+sunmarize会报错
dat_df%>%group_by(type)%>%summarise(kk=mean(x1))

在计算均值等函数的时候,一最好给结果一个名字,二是所有的函数要写在summarise()里面,否则会报错

R 数据科学(十五)—summarize函数+group_by函数_第4张图片
image.png

count加上sort参数表示从到小排列

ttttt2=not_cancel%>%
count(tailnum,sort = T)

你可能感兴趣的:(R 数据科学(十五)—summarize函数+group_by函数)