如何在R中找到两个因子列的总和?
要找到两个因子列的总和,我们可以使用聚合函数。当我们有两个因素的频率/计数数据时,这通常是必需的。例如,如果我们有一个名为 df 的数据框,其中包含两个因子列,例如 f1 和 f2,还有一个数值列称为 Count,那么可以使用命令aggregate(Count~f1+f2,数据=df,总和)。
示例
考虑以下数据框 -
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 freq1 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 freq1 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 count1 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 count1 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
以上是 如何在R中找到两个因子列的总和? 的全部内容, 来源链接: utcz.com/z/335593.html