【问题标题】:Sum a Column Based on Date [duplicate]根据日期对列求和[重复]
【发布时间】:2018-08-01 15:49:08
【问题描述】:

我有兴趣弄清楚如何按日期汇总所有步骤以及如何按日期平均所有步骤。数据被格式化,其中一列按不同的时间间隔显示步骤,另一列重复日期。我想总结和平均每一天的所有步骤。见下文。

谢谢!

Example

【问题讨论】:

标签: r


【解决方案1】:

plyr 中的 ddply 函数在这方面总是做得很好。

sumFrame <- plyr::ddply(df, "date", numcolwise(sum))
meanFrame <- plyr::ddply(df, "date", numcolwise(mean))

第一个参数是数据框的名称。

第二个参数是它应该分组的列 - 在这种情况下它是日期,但你也可以给它一个具有多个列名称的列向量,例如c("date", "time").

最后一个参数接受您要应用的函数,在本例中为 summeannumcolwise 位只是为了确保函数将其应用于列,而不是行。

另外,正如 MrFlick 所说,您应该提供一个可重现的示例以及您迄今为止尝试过的一些解决方案。

【讨论】:

  • 感谢您的回复。我试过 new_df
  • 感谢您的回复。我试过 new_df
  • 最好的办法是在提出问题时提供示例数据,以便可以复制。不过,我可以给您的建议是,如果您想设置要使用的列,请限制输入。因此,不要使用df 作为您的第一个参数,而是使用df[,c("date", "hour")] 之类的东西,这样您就可以只为函数提供这两个列来使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-05
  • 2019-01-09
  • 1970-01-01
  • 2022-06-17
  • 1970-01-01
相关资源
最近更新 更多