如何在r中按组计算百分比(举例)


您可以使用以下语法在 R 中按组计算百分比:

 library (dplyr)

df %>%
  group_by(group_var) %>%
  mutate(percent = value_var/sum(value_var))

以下示例展示了如何在实践中使用此语法。

示例:在 R 中按组计算百分比

假设我们有以下数据框,显示来自不同球队的篮球运动员的得分:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
                 points=c(12, 29, 34, 14, 10, 11, 7, 36, 34, 22))

#view data frame
df

   team points
1 to 12
2 to 29
3 to 34
4 to 14
5 to 10
6 B 11
7 B 7
8 B 36
9 B 34
10 B 22

我们可以使用以下代码在数据框中创建一个新列,显示按球队分组的总得分百分比:

 library (dplyr)

#calculate percentage of points scored, grouped by team
df %>%
  group_by(team) %>%
  mutate(percent = points/sum(points))

# A tibble: 10 x 3
# Groups: team [2]
   team points percent
        
 1 to 12 0.121 
 2 A 29 0.293 
 3 A 34 0.343 
 4 A 14 0.141 
 5 A 10 0.101 
 6 B 11 0.1   
 7 B 7 0.0636
 8 B 36 0.327 
 9 B 34 0.309 
10 B 22 0.2 

百分比列表示该球员在其球队中得分总得分的百分比。

例如,A队队员的总分是99分。

所以数据框第一排得12分的选手总共得分为A队总分的12/99 = 12.12%

同样,数据库中获得29分的第二排球员的得分总计为29/99=A队总得分的29.29%

等等。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在R中按组计算唯一值
如何在R中按组计算汇总统计数据
如何在R中按组计算总和

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注