Datetime R中的Binning日期

Datetime R中的Binning日期,datetime,r,Datetime,R,在R中,我很难确定日期和时间,但我希望这是一项相当基本的任务 这是我的数据集: > str(temp.df) 'data.frame': 74602 obs. of 2 variables: $ time : POSIXct, format: "2011-04-09 03:53:20" "2011-04-09 03:53:15" "2011-04-09 03:53:07" "2011-04-09 03:52:39" ... $ value: num 1 1 1 1 1 1 1

在R中,我很难确定日期和时间,但我希望这是一项相当基本的任务

这是我的数据集:

> str(temp.df)
'data.frame':   74602 obs. of  2 variables:
 $ time : POSIXct, format: "2011-04-09 03:53:20" "2011-04-09 03:53:15" "2011-04-09 03:53:07" "2011-04-09 03:52:39" ...
 $ value: num  1 1 1 1 1 1 1 1 1 1 ...

> head(temp.df$time, n=10)
 [1] "2011-04-09 03:53:20 EDT" "2011-04-09 03:53:15 EDT" "2011-04-09 03:53:07 EDT" "2011-04-09 03:52:39 EDT"
 [5] "2011-04-09 03:52:29 EDT" "2011-04-09 03:51:56 EDT" "2011-04-09 03:51:54 EDT" "2011-04-09 03:51:46 EDT"
 [9] "2011-04-09 03:51:44 EDT" "2011-04-09 03:51:26 EDT"
为了方便起见

> dput(head(temp.df$time, n=10))
structure(c(1302335600, 1302335595, 1302335587, 1302335559, 1302335549, 
1302335516, 1302335514, 1302335506, 1302335504, 1302335486), class = c("POSIXct", 
"POSIXt"), tzone = "")
我希望做的是:

  • 如何确定最小和最大日期/时间之间的小时数
  • 使用1小时时间段创建数据摘要的最佳方法是什么

如果您能提供任何帮助,我们将不胜感激。

请使用适当的时间序列软件包和/或。此示例直接来自于
aggregate.zoo()
的帮助页面,它每10分钟聚合POSIXct秒数据

 tt <- seq(10, 2000, 10)
 x <- zoo(tt, structure(tt, class = c("POSIXt", "POSIXct")))
 aggregate(x, time(x) - as.numeric(time(x)) %% 600, mean)

tt看看package zoo的(优秀的)小插曲——它就在那里。就我个人而言,我发现通常避免时间有时比尝试将其转换成一种R友好的格式更容易。我把日期分成了几列,用原始数字代替了日、月、年、时、分、秒。你能澄清一下你的mod 600在做什么吗?桶是每小时一次的,我用变量x看到。聚合行似乎对x for me数据所做的只是在每个bucket的开始和结束添加47秒。这有什么意义?请参阅注释:
#每10分钟聚合POSIXct秒数据
cut(time(x),breaks=“10分钟”)是将第二个参数简化为聚合函数的一种很好的方法。在zoo包中聚合函数的文档中有一个这样做的示例。