您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何利用aggregate對數據進行分組處理,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
利用aggregate對數據進行分組處理,包括分組求和,分組取均值,最大值,中位數等等
aggregate這個函數的功能比較強大,它首先將數據進行分組(按行),然后對每一組數據進行函數統計,根據數據對象不同它有三種用法,分別應用于數據框(data.frame)、公式(formula)和時間序列(ts):
aggregate(x, by, FUN, ..., simplify = TRUE) aggregate(formula, data, FUN, ..., subset, na.action = na.omit) aggregate(x, nfrequency = 1, FUN = sum, ndeltat = 1, ts.eps = getOption("ts.eps"), ...)
其中針對數據的分組處理,例如有數據如下:
> dat ID sample1 sample2 sample3 type 1 A 1 2 2 1 2 A 2 4 9 2 3 A 4 3 1 3 4 C 5 5 8 1 5 C 6 9 7 2 6 C 3 1 3 3 7 D 9 10 9 1 8 D 11 18 1 2
按照type對數據進行分組求和,均值或者median等等,以sum為例:
> temp=aggregate(dat[,2:4],by=list(dat$type),FUN=sum) > temp Group.1 sample1 sample2 sample3 1 1 15 17 19 2 2 19 31 17 3 3 7 4 4 >
參數的第一個必須為數值型,所以去掉了第一列,對type不做操作,也去除,得到的數據Group.1即type類型
如果同時針對兩種分組ID 和type進行,可以獲得如下結果:
> temp=aggregate(dat[,2:4],by=list(dat$ID,dat$type),FUN=sum) > temp Group.1 Group.2 sample1 sample2 sample3 1 A 1 1 2 2 2 C 1 5 5 8 3 D 1 9 10 9 4 A 2 2 4 9 5 C 2 6 9 7 6 D 2 11 18 1 7 A 3 4 3 1 8 C 3 3 1 3
mean、median、max等操作相同
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何利用aggregate對數據進行分組處理”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。