如何基于R中的因子列的值查找频率的总和?
通常,我们在一个因子列中有重复的值,这意味着一个因子列具有许多级别,并且每个级别都出现多次。在这种情况下,如果我们有一个频率列,那么我们想基于一个因子列的值找到该频率的总和,这可以通过使用聚合函数来完成。
示例
请看以下数据帧-
> set.seed(109) > Class<-rep(sample(LETTERS[1:5],4),times=5) > Frequency<-sample(1:10,20,replace=TRUE) > df1<-data.frame(Class,Frequency) > df1
输出结果
Class Frequency 1 E 9 2 D 5 3 B 10 4 C 10 5 E 7 6 D 10 7 B 9 8 C 5 9 E 8 10 D 7 11 B 1 12 C 3 13 E 5 14 D 10 15 B 2 16 C 3 17 E 9 18 D 3 19 B 2 20 C 9
找到每个类别的频率总和-
> aggregate(df1["Frequency"],by=df1["Class"],sum)
输出结果
Class Frequency 1 B 24 2 C 30 3 D 35 4 E 38
让我们看另一个例子-
示例
> Metal<-rep(c("Iron","Nickel","Lead","Zinc","Tin","Sodium","Silver"),times=5)
> Quantity<-sample(20:50,35,replace=TRUE)
> df2<-data.frame(Metal,Quantity)
> head(df2,10) Metal Quantity
1 Iron 43
2 Nickel 33
3 Lead 25
4 Zinc 24
5 Tin 27
6 Sodium 34
7 Silver 31
8 Iron 37
9 Nickel 36
10 Lead 24
> tail(df2,10)
Metal Quantity
26 Tin 49
27 Sodium 43
28 Silver 47
29 Iron 28
30 Nickel 41
31 Lead 21
32 Zinc 33
33 Tin 44
34 Sodium 34
35 Silver 33> aggregate(df2["Quantity"],by=df2["Metal"],sum)
输出结果
Metal Quantity 1 Iron 157 2 Lead 148 3 Nickel 174 4 Silver 165 5 Sodium 161 6 Tin 192 7 Zinc 155
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短