我有以下表格的数据:
DateTime | Var1
11/01/2016 06:01 | 0
11/01/2016 06:02 | 0.70
...
...
11/01/2016 23:59 | 35.08
11/02/2016 00:01 | 33.29
...
11/02/2016 06:00 | 24.62
...
11/30/2016 23:59 | 42.08
12/01/2016 00:01 | 39.79
....
我有~5个月的数据。我必须将数据从1天的上午6点到第二天的上午6点之前进行子集化。一旦掌握了日期,我可以使用以下代码对数据进行子集化,但是如何从输入数据中自动获取所有连续日期?
Date1 <- as.integer(as.POSIXct(Date1))
Date2 <- as.integer(as.POSIXct(Date2))
subset <- subset(data, as.integer(as.POSIXct(data$txtime)) >= Date1 & as.integer(as.POSIXct(data$txtime)) < Date2)
现在,我可以使用以下代码来获取一个月内的连续日期,但这不适用于该月的最后一天,其中要进行子集化的部分数据是在下一个的第一天月。所以我不能在11月30日上午6点到12月1日上午5点59分之间自动完成。此外,代码不是完全自动化的,因为天数(在循环中使用)在几个月内变化。
for (dateofmonth in c(1:29)) {
Date1 <- paste("2016-11-", dateofmonth, ' 06:00:00', sep = '')
Date2 <- paste("2016-11-", (dateofmonth+1), ' 06:00:00', sep = '')
}
可能有一种更简单的方法可以做到这一点,但我无法弄明白。请建议。
答案 0 :(得分:0)
试试这个:
$ gcloud docker -- --version
Docker version 1.12.3, build 6b644ec
这会将您的时间向后移动6小时,然后按日期拆分数据。因此,每个子数据帧将包含从该日期的上午6:00到第二天的上午5:59的时间。