R 數(shù)據(jù)科學(十五)—summarize函數(shù)+group_by函數(shù)

記住是summarize函數(shù)而不是summarise函數(shù)

summarize函數(shù)可以進數(shù)據(jù)框折疊成一行

計數(shù)本質(zhì)上返回的是分組后的行數(shù)

summarize(flights, delay=mean(dep_delay,na.rm=T))
##所以新的列名就是delay

group_by為分組函數(shù),是如果我們添加了group_by函數(shù)后,我們可以理解為電腦自動給我們的數(shù)據(jù)進行了按照我們指定的列進行了分組整合,該函數(shù)通常和summarize函數(shù)合在一起使用,也可以和filter,select函數(shù)合在一起使用

記住一點:summarize返回值一般為新的一個數(shù)據(jù)框,且該數(shù)據(jù)框一般情況下和原始的數(shù)據(jù)框長度一定不相同,列數(shù)應該是group_by參數(shù)+summarize參數(shù),例如下面為四列,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函數(shù)可以進行多組分類,比如下面先按照年,在按照月,在按照日分類

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 計數(shù) 相當于summarize函數(shù)中的n()函數(shù)

count函數(shù)可以不用先分組,可以直接加上列名字,比如下面二者相同

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

ttttt2=not_cancel%>%
  count(tailnum)

但是如果你要添加一些統(tǒng)計資料,比如求均值之列的推薦用sunmarize,用count函數(shù)+sunmarize會報錯
dat_df%>%group_by(type)%>%summarise(kk=mean(x1))

在計算均值等函數(shù)的時候,一最好給結(jié)果一個名字,二是所有的函數(shù)要寫在summarise()里面,否則會報錯

image.png

count加上sort參數(shù)表示從到小排列

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容