我试图找到一种解决方案,但在这里找不到解决方案。 我需要创建一个新列,并基于“ Date.Time”格式的列来标记该新列的每个行值。此Date.Time列跨几天,如果值介于某些date.time值之间,我想将新列值标记为Day 1。
Day_1_start <- ymd_hms ("2018-07-02 00:00:00"),
Day_1_end <- ymd_hms ("2018-07-03 00:00:00")
Day_2_start <- ymd_hms ("2018-07-04 00:00:00")
Day_2_end <- ymd_hms ("2018-07-05 00:00:00")
interval_1 <- interval (Day_1_start, Day_1_end)
interval_2 <- interval (Day2_start, Day_2_end)
如果Date.Time列中的值介于interval_1之间,则新列中的对应标签为Day 1,依此类推。
我尝试过:
for (i in 1:file$Date.Time) {
if (file$Date.Time[i] == %within% interval_1) {
file$Day <- 1
}
}
上面提到的代码不起作用,仅表示伪代码。 R社区成员会帮助我找到解决方案吗?
或者这是一个示例,其中第一列具有Date.Time,我想创建一个名为Group的第二列,其中在13:30和13:40之间的所有Date.Time将被标记为1,在13:40和13之间:50将被标记为2,依此类推。
Date.Time Group
5/7/18 13:30 1
5/7/18 13:31 1
5/7/18 13:32 1
5/7/18 13:33 1
5/7/18 13:34 1
5/7/18 13:35 1
5/7/18 13:36 1
5/7/18 13:37 1
5/7/18 13:38 1
5/7/18 13:39 1
5/7/18 13:40 2
5/7/18 13:41 2
5/7/18 13:42 2
5/7/18 13:43 2
5/7/18 13:44 2
5/7/18 13:45 2
5/7/18 13:46 2
5/7/18 13:47 2
5/7/18 13:48 2
5/7/18 13:49 2
5/7/18 13:50 3
5/7/18 13:51 3
5/7/18 13:52 3
5/7/18 13:53 3
5/7/18 13:54 3
5/7/18 13:55 3
5/7/18 13:56 3
5/7/18 13:57 3
5/7/18 13:58 3
5/7/18 13:59 3
谢谢。