如何在R数据帧中按不同列查找因子水平的总和?
如果数据框包含一个因子列和一些数字列,那么我们可能希望找到因子水平的数字列的总和。为此,我们可以使用聚合函数。例如,如果我们有一个数据帧df,其中包含由Group定义的因子列和一些数字列,则可以通过使用aggregate(。〜Group,data = df,sum)计算因子水平的不同列的总和
例1
考虑以下数据帧-
Group<−factor(sample(c("A","B","C"),20,replace=TRUE))输出结果frequency<−sample(1:10,20,replace=TRUE)
cost<−round(rnorm(20,25,6),2)
df1<−data.frame(Group,frequency,cost)
df1
Group frequency cost1 A 6 21.69
2 C 5 34.94
3 C 3 17.32
4 B 3 16.84
5 A 10 23.10
6 C 3 30.30
7 B 8 19.84
8 A 1 25.41
9 C 2 27.55
10 A 10 26.31
11 B 7 33.05
12 A 10 32.09
13 B 1 27.36
14 A 9 19.70
15 A 5 26.44
16 A 10 28.28
17 C 6 25.67
18 A 9 24.06
19 C 3 22.25
20 A 5 24.93
在频率和成本中找到组中的级别总和-
示例
aggregate(.~Group,data=df1,sum)输出结果Group frequency cost
1 A 75 252.012 B 19 97.09
3 C 22 158.03
例2
Class<−sample(c("First","Second","Third"),20,replace=TRUE)输出结果Price<−sample(2000:5000,20)
Seats<−sample(0:9,20,replace=TRUE)
df2<−data.frame(Class,Price,Seats)
df2
Class Price Seats1 Third 2218 4
2 Second 3064 4
3 Third 4074 2
4 First 4394 4
5 First 2321 3
6 Third 4998 1
7 First 3520 2
8 First 4133 1
9 Third 4832 9
10 Second 2856 0
11 Third 3145 7
12 Third 4604 6
13 Second 4691 9
14 First 4994 4
15 Third 2252 2
16 First 3491 0
17 Second 4125 7
18 Second 2597 2
19 Third 3720 3
20 Second 2995 0
查找价格和席位的级别的总和-
示例
aggregate(.~Class,data=df2,sum)输出结果
Class Price Seats1 First 22853 14
2 Second 20328 22
3 Third 29843 34
以上是 如何在R数据帧中按不同列查找因子水平的总和? 的全部内容, 来源链接: utcz.com/z/330303.html