如何通过唯一ID汇总数据框中的某些列?

时间:2018-11-13 01:28:15

标签: r aggregate rscript

我每天都有一份统计广播数据列表,可追溯到2016年。我正在尝试汇总此数据,以查找每个投球ID的平均值。

我有以下代码:

aggpitch <- aggregate(pitchingstat, by=list(pitchingstat$PitcherID),
                  FUN=mean, na.rm = TRUE)

此函数汇总每列。我只想聚合一定数量的列。

我将如何仅包括某些列?

3 个答案:

答案 0 :(得分:1)

如果您想总结一列以上的内容,则可以使用QAsena的方法并添加summarise_at函数,如下所示:

pitchingstat %>%
group_by(PitcherID) %>%
summarise_at(vars(col1:coln), mean, na.rm = TRUE)

查看以下链接以获取更多示例: https://dplyr.tidyverse.org/reference/summarise_all.html

答案 1 :(得分:0)

将第一个参数(pitchingstat)替换为要聚合的列的名称(或其向量)

答案 2 :(得分:0)

怎么样?

library(tidyverse)
aggpitch <- pitchingstat %>% 
  group_by(PitcherID) %>% 
  summarise(pitcher_mean = mean(variable)) #replace 'variable' with your variable of interest here

library(tidyverse)
aggpitch <- pitchingstat %>%
  select(var_1, var_2)
  group_by(PitcherID) %>% 
  summarise(pitcher_mean = mean(var_1),
            pitcher_mean2 = mean(var_2))

我认为这可行,但是可以使用一个虚拟的示例数据来处理。