如何在 R 中按兩個因素列求和?
要按兩個因素列求和,可以使用 aggregate 函式。當我們有用於兩個因素的頻率/計數資料時,這通常是必需的。例如,如果我們有一個名為 df 的資料框,其中包含兩個因素列,例如 f1 和 f2,以及一個數字列,例如 Count,那麼可以使用命令 aggregate(Count~f1+f2,data=df,sum) 根據 f1 和 f2 計算 Count 的和。
示例
考慮以下資料框−
x1<-sample(LETTERS[1:4],20,replace=TRUE) x2<-sample(letters[1:2],20,replace=TRUE) freq<-rpois(20,5) df1<-data.frame(x1,x2,freq) df1
輸出
x1 x2 freq 1 D b 4 2 C b 6 3 C b 7 4 A b 4 5 C b 4 6 C a 6 7 C b 2 8 C a 7 9 D b 4 10 D b 7 11 B a 3 12 B a 6 13 A a 5 14 B b 5 15 C a 2 16 B a 5 17 A b 6 18 B a 8 19 C a 2 20 D a 5
基於 x1 和 x2 的組合查詢頻率的和 −
示例
aggregate(freq~x1+x2,data=df1,sum)
輸出
x1 x2 freq 1 A a 5 2 B a 22 3 C a 17 4 D a 5 5 A b 10 6 B b 5 7 C b 19 8 D b 15
示例
y1<-sample(c("hot","cold"),20,replace=TRUE)
y2<-sample(c("Asia","America","Africa","Europe"),20,replace=TRUE)
count<-sample(1:10,20,replace=TRUE)
df2<-data.frame(y1,y2,count)
df2輸出
y1 y2 count 1 hot Africa 8 2 cold America 8 3 hot America 4 4 hot Africa 5 5 hot America 3 6 hot Europe 9 7 cold Asia 10 8 hot America 4 9 hot America 6 10 cold Africa 5 11 cold America 5 12 cold America 10 13 cold Africa 3 14 cold America 5 15 hot Asia 9 16 cold Asia 4 17 cold America 6 18 cold Europe 4 19 cold Africa 9 20 hot Africa 8
基於 y1 和 y2 的組合查詢計數的和 −
示例
aggregate(count~y1+y2,data=df2,sum)
輸出
y1 y2 count 1 cold Africa 17 2 hot Africa 21 3 cold America 34 4 hot America 17 5 cold Asia 14 6 hot Asia 9 7 cold Europe 4 8 hot Europe 9
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP