Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将日期/时间数据拆分为固定时间间隔_R_Datetime_Time_Split_Cut - Fatal编程技术网

R 将日期/时间数据拆分为固定时间间隔

R 将日期/时间数据拆分为固定时间间隔,r,datetime,time,split,cut,R,Datetime,Time,Split,Cut,我已经在这里发布了类似的问题: 现在我用一个简单的版本来尝试: 我有一个数据,它包含对象POSIXct的date/time变量(称之为x),格式如下:yyyy-mm-dd HH:mm:SS 我对日期不太感兴趣。我试图做的是将我的时间数据分割成固定的时间间隔 为了清楚起见,让我们从一些可复制的示例开始。使用dput,我的x变量如下所示: structure(c(1495608914, 1495642528, 1495642529, 1495607831, 1495641488, 14956437

我已经在这里发布了类似的问题:

现在我用一个简单的版本来尝试:

我有一个数据,它包含对象
POSIXct
date/time
变量(称之为
x
),格式如下:
yyyy-mm-dd HH:mm:SS

我对日期不太感兴趣。我试图做的是将我的
时间
数据分割成固定的时间间隔

为了清楚起见,让我们从一些可复制的示例开始。使用
dput
,我的
x
变量如下所示:

structure(c(1495608914, 1495642528, 1495642529, 1495607831, 1495641488, 1495643715), class = c("POSIXct", "POSIXt"), tzone="")
我已经能够使用:
split(x,cut((x),“30分钟”)

但是,此方法从我在
x
中的最小
time
值开始拆分;但是,我感兴趣的是将数据拆分为恒定的时间间隔

因此,使用我上面提到的拆分方法,我将从
06:37:00
开始得到20组,间隔30分钟(并且
x
将在20组中的3组之间拆分,分别进行2,1和3次观察)。我正在寻找有关数据点时间间隔的一些指示:

x                   v1   v2    . . . x.ind
06:37:11                             14
06:55:14                             14
15:58:08                             32
.
.
.

其中1代表
00:00:00-00:30:00
,2代表
00:30:00-01:00:00
,…,14代表
06:30:00-07:00
,…,48代表
23:30:00-00:00
一种使用dplyr进行连接和分组的解决方案,并对日期进行润滑

library(dplyr)
library(lubridate)

observations <- data.frame(period = floor_date(x, unit = "30 minutes"), n=rep(1, length(x)))
intervals <- data.frame(period = seq.POSIXt(min(observations), max(observations), by = 30*60))

result <- intervals %>%
  full_join(observations) %>%
  group_by(period) %>%
  summarize(n=sum(n,na.rm= TRUE))
库(dplyr)
图书馆(lubridate)
观察值%
总结(n=总和(n,na.rm=真))

运行“观察”代码行时会出现以下错误:
匹配错误。arg(单位):arg应为“秒”、“分钟”、“小时”、“天”、“周”、“月”、“年”、“季度”之一。
。。你能估计一下原因吗?抱歉,我粘贴了较旧的代码-变量“xr”应该是最小值和最大值内的
观测值
。我编辑了答案(但尚未测试)