【问题标题】:Sum of daily data from minutes data in R(different number of data per day)? [duplicate]R中分钟数据的每日数据总和(每天不同的数据数)? [复制]
【发布时间】:2015-02-04 09:11:33
【问题描述】:

所有,我的数据看起来像这样:

01/04/2006,900,11756

01/04/2006,901,7492

01/04/2006,902,4012

01/04/2006,903,3190 ....

第一列是日期,第二列是时间 9:00。 我想获取第三列的每日总和。

请注意,日期可能不连续,时间也可能不连续。

要查找数据中的所有日期,我可以使用 unique( ) 函数

【问题讨论】:

  • 尝试aggregate(value~Date, df, sum),其中value 是第三列,日期是数据集中“df”的第一列
  • @akrun,您的回答似乎有效,但是返回的结果顺序很奇怪,aggregate() 返回的数据是什么顺序?
  • 您需要每日总和,因此这意味着我们只需要处理日期列。我想知道是否应该对时间列做些什么,或者是否可以忽略它?
  • @akrun,感谢您的指出。您介意发布您的 cmets 作为答案吗?我会勾选它。 ^_^
  • @GeekCat 它已经是重复的 :-)

标签: r datetime dataframe time-series


【解决方案1】:

下面使用plyr包,给出第三列的每日总和

library(plyr)

dd <- as.Date(c("01/04/2006", "01/04/2006", "01/04/2006", "01/04/2006"), format="%d/%m/%Y")
time <- as.character(c("9:00","9:01","9:02","9:03"))
val <- as.numeric(c(11756,7492,4012,3190))

dat <- data.frame(dd,time,val)

ddply(dat, .(dd), summarize, val = sum(val)) 

【讨论】:

    猜你喜欢
    • 2019-07-03
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    相关资源
    最近更新 更多