在 R 中累积数据

Accumulating Data in R

我有一个大型 PGA 巡回赛数据集(2312 obs. 18 个变量),其中包含 2010-2018 年的所有球员统计数据。看起来像这样:

Player.Name      | Rounds | Fairway.Percentages |  Year   | Avg. Distance 
Henrick Stenson      60           75.19            2018        291.50
Henrick Stenson      65           70.09            2013        290.90

每个球员都会这样,所以每一行都是特定年份的球员统计数据。我想累积每个球员的数据,所以每个球员只出现一次,并显示 2010-2018 时间段内每个统计数据的 8 年平均值所以它看起来像这样

Player.Name      | Rounds| Fairway.Percentages |  Year   | Avg. Distance 
Henrick Stenson   *8yr avg      *8yr avg                      *8yr avg 
Jordan Spieth     *8yr avg      *8yr avg                      *8yr avg 
Rickie Fowler     *8yr avg      *8yr avg                      *8yr avg 

我想这样做,这样我就可以进行聚类分析,并根据球员的统计数据(长球击球手、短而准确的击球手、最好的推杆等)对球员进行聚类...)

我知道有一个 rollmean 函数,但我希望我不必为每个单独的列都这样做

library(tidyverse)
data %>%
  group_by(Player.Name) %>%
  summarize(across(-Year, mean))

我们可以使用 aggregate 来自 base R

 aggregate(.~ Player.Name, subset(df, select = -Year), mean)