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

作者: 一路向前_莫问前程_前程似锦 | 来源:发表于2018-09-06 16:32 被阅读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))
    
    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))
    
    
    image.png image.png

    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)

    相关文章

      网友评论

        本文标题:R 数据科学(十五)—summarize函数+group_by函

        本文链接:https://www.haomeiwen.com/subject/ctatgftx.html