如何使用 dplyr 根據求和來摺疊 R 中的資料幀行?
要使用 dplyr 包根據求和摺疊資料幀行,我們可以使用 dplyr 包的 summarise_all 函式。例如,如果我們有一個名為 df 的資料幀,其中有一個 Group 分類列和一個數字列,則可以透過使用命令來根據求和摺疊行 −
df%>%group_by(Group)%>%summarise_all(funs(sum))
考慮以下資料幀 −
示例
Group<-sample(LETTERS[1:6],25,replace=TRUE) Response<-rnorm(25,3,0.24) df1<-data.frame(Group,Response) df1
輸出
Group Response 1 F 2.920793 2 C 2.898450 3 C 3.347825 4 A 3.174100 5 B 3.089882 6 C 2.918084 7 D 3.274836 8 F 2.709450 9 F 3.349442 10 F 2.995712 11 C 3.081089 12 A 3.123781 13 C 2.947828 14 C 3.096281 15 E 2.990183 16 E 3.061462 17 C 3.279717 18 C 2.932549 19 F 2.772635 20 B 2.993549 21 F 2.956203 22 E 2.920117 23 F 3.244469 24 F 3.376968 25 B 3.072305
載入 dplyr 包並根據 Group 列對 df1 的行求和 −
示例
library(dplyr) df1%>%group_by(Group)%>%summarise_all(funs(sum)) # A tibble: 6 x 2
輸出
Group Response <chr> <dbl> 1 A 6.30 2 B 9.16 3 C 24.5 4 D 3.27 5 E 8.97 6 F 24.3
示例
Region<-sample(c("Asia","Oceania","Africa","America"),25,replace=TRUE)
Y<-rpois(25,5)
df2<-data.frame(Region,Y)
df2輸出
Region Y 1 Asia 2 2 America 4 3 Africa 4 4 Oceania 5 5 America 6 6 Asia 5 7 Oceania 9 8 Asia 4 9 Asia 4 10 America 5 11 Oceania 2 12 Africa 6 13 Asia 4 14 Oceania 7 15 Africa 7 16 America 2 17 Asia 5 18 Africa 2 19 America 3 20 Oceania 3 21 Oceania 4 22 Africa 5 23 Africa 5 24 Africa 5 25 America 6
根據 Region 列對 df2 的行求和 −
示例
df2%>%group_by(Region)%>%summarise_all(funs(sum)) # A tibble: 4 x 2
輸出
Region Y <chr> <int> 1 Africa 34 2 America 26 3 Asia 24 4 Oceania 30
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP