在 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)
我有一个大型 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)