【发布时间】:2020-01-31 04:09:25
【问题描述】:
我有两个数据框。第一个只列出每个学校/团队一次,如下所示:
classA <- data.frame(School=c("Omaha South", "Millard North", "Elkhorn"))
另一个数据框是整个赛季的篮球得分表,您可以在同一列中多次列出学校/球队:
scores <- data.frame('Away Score'=c(60,84,48,72),
'Away Team'=c("Omaha South", "Millard North", "Elkhorn","Elkhorn"),
'Home Score'=c(88,40,38,62),
'Home Team'=c("Elkhorn", "Omaha South", "Millard North","Omaha South"))
我的目标是创建一个名为 classA$'Away PPG' 的新列,该列对第一个数据框中每个学校的所有“Away 分数”进行平均。因此,对于 Elkhorn,新的 A 类列将是 60 (48+72)/2。
我遇到困难的一个地方是两个 dfs 有不同的列名来匹配,我还没有找到如何处理这方面的问题。
我之前在一个有点相关的问题上获得了帮助,我正在寻找计数而不是平均值,但不知道如何修改它以适用于这个问题。计数问题的solution 如下所示:
df2 %>%
right_join(df1, by = c('Winner' = 'School')) %>%
na.omit() %>%
count(Winner, name = "wins") %>%
right_join(df1, c('Winner' = 'School')) %>%
mutate(wins = replace(wins, is.na(wins), 0))
【问题讨论】: