【问题标题】:How to perform aggregation and counting in a Dataset using R? [duplicate]如何使用 R 在数据集中执行聚合和计数? [复制]
【发布时间】:2018-09-08 09:05:45
【问题描述】:

我目前正在使用 Cricket(一项运动)数据集,我需要在该数据集上找到累计得分、每年投球数以及年份。以下是数据集的摘录

enter image description here

我正在尝试汇总如下,但我无法为此构建正确的代码

enter image description here

请帮忙

【问题讨论】:

标签: r count aggregate prediction summarize


【解决方案1】:

这应该会创建您拥有的数据框:

cricket_df <- data.frame(Team1 = rep("DD", 7), Team2 = rep("CSK", 7), year = c(2008, 2008, 2009,2009, 2009, 2010, 2010), balls=c(4,4,2,1,2,3,2), runs=c(4,6,6,0,3,1,8))

这样你就可以聚合了:

aggregate(cricket_df[c("balls", "runs")], by=list(cricket_df$Team1, cricket_df$Team2, cricket_df$year), FUN=sum)

【讨论】:

  • 但是,使用此代码我们无法获得 year_count。如何获得?
  • 是的。可能有更优雅的方法,但这里有一个可行的解决方案:将聚合保存在一个新的数据框中:aggr_df &lt;- aggregate(cricket_df[c("balls", "runs")], by=list(cricket_df$Team1, cricket_df$Team2, cricket_df$year), FUN=sum) 和一个用于年份计数的列:aggr_df$year_count &lt;- table(cricket_df$year)
  • 谢谢它的工作。但是对于如下数据集,它不能提供预期的结果 df
猜你喜欢
  • 2019-08-13
  • 2021-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多