【问题标题】:Accumulating Data in R在 R 中累积数据
【发布时间】:2021-05-05 22:51:10
【问题描述】:

我有一个大型 PGA Tour 数据集(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 函数,但希望我不必为每个单独的列都这样做

【问题讨论】:

    标签: r cluster-analysis accumulate


    【解决方案1】:
    library(tidyverse)
    data %>%
      group_by(Player.Name) %>%
      summarize(across(-Year, mean))
    

    【讨论】:

      【解决方案2】:

      我们可以从base R使用aggregate

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

      【讨论】:

        猜你喜欢
        • 2013-06-19
        • 1970-01-01
        • 2014-06-21
        • 1970-01-01
        • 1970-01-01
        • 2016-02-19
        • 1970-01-01
        • 2021-03-19
        • 1970-01-01
        相关资源
        最近更新 更多