R 汇总团队成员得分的平均分

R 汇总团队成员得分的平均分,r,aggregate,mean,R,Aggregate,Mean,我有团队成员的数据。每个团队大约有5名成员。典型的聚合函数将允许我计算整个团队的平均分数。然而,对于每个参与者,我感兴趣的是计算参与者团队成员的平均分数,不包括参与者的分数。有什么建议吗 如果我正确理解了您的问题,您可以尝试以下方法: library(dplyr) df <- tibble(team = c(rep("A", 5), rep("B", 5), rep("C", 5)), player = letters[1:15], s

我有团队成员的数据。每个团队大约有5名成员。典型的聚合函数将允许我计算整个团队的平均分数。然而,对于每个参与者,我感兴趣的是计算参与者团队成员的平均分数,不包括参与者的分数。有什么建议吗

如果我正确理解了您的问题,您可以尝试以下方法:

library(dplyr)

df <- tibble(team = c(rep("A", 5), rep("B", 5), rep("C", 5)),
             player = letters[1:15],
             score = 1:15)

# find aggregate team scores and number of team members
team_means <- df %>%
  group_by(team) %>%
  summarise(team_sum = sum(score, na.rm = TRUE),
            team_n = n())

# find average of rest of team's performance
# this is the the "remaining players' average"; the "- 1" could be removed for the team average.
left_join(df, team_means, by = "team") %>%
  mutate(average = (team_sum - score) / (team_n - 1)) %>%
  select(team, player, score, average)

# A tibble: 15 x 4
   team  player score average
   <chr> <chr>  <int>   <dbl>
 1 A     a          1    3.5 
 2 A     b          2    3.25
 3 A     c          3    3   
 4 A     d          4    2.75
 5 A     e          5    2.5 
 6 B     f          6    8.5 
 7 B     g          7    8.25
 8 B     h          8    8   
 9 B     i          9    7.75
10 B     j         10    7.5 
11 C     k         11   13.5 
12 C     l         12   13.2 
13 C     m         13   13   
14 C     n         14   12.8 
15 C     o         15   12.5 
库(dplyr)
df%
总结(团队总和=总和(分数,na.rm=真),
团队(n=n())
#找出团队其他成员的平均表现
#这是“剩余玩家的平均值”;可以删除团队平均值的“-1”。
左加入(df,team意为,by=“team”)%>%
变异(平均值=(团队总分)/(团队n-1))%>%
选择(团队、球员、得分、平均值)
#一个tibble:15x4
队员平均得分
1 A 13.5
2 A b 2 3.25
3 A c 3 3
4 A d 4 2.75
5 A e 5 2.5
6 B f 6 8.5
7 B g 7 8.25
8 B h 8 8
9 B i 9 7.75
10 B j 10 7.5
11 C k 11 13.5
12 C l 12 13.2
13厘米13
14 C n 14 12.8
15 C o 15 12.5

欢迎使用堆栈溢出!请阅读相关信息以及如何给出建议。这将使其他人更容易帮助您。请避免回答没有明确问题陈述、样本数据和/或样本代码的问题。请注意,这很公平。