在 R 中命名昼夜间隔
Naming diurnal intervals in R
我正在处理声学遥测数据,我正在尝试将我的 "hours" 列进一步划分为间隔。理想情况下,我想说 timeperiod1 是 "early" 如果它介于 00:00:01-06:00:00 等之间或类似性质的东西。我已经使用 strptime 和 POSIXct 来格式化日期和时间,并将小时放入他们自己的专栏中我只是非常坚持这个新 "time period" 专栏的创建和命名,所以我可以 运行 方差分析。
谢谢!
lubridate
包有很好的功能,如 hour()
、year()
等,可以提取日期对象的适当组件。这是一个示例,说明如何使用它在每小时 24 小时的玩具数据集上创建一个新列,并使用 ifelse()
(矢量化 if
)将时间分类为早在 06:00:00.
之前
fake_times <- data.frame(time = as.POSIXct('2018-04-01 00:00:01') + (0:23) * 3600)
library(lubridate)
fake_times$hour <- hour(fake_times$time)
fake_times$timeperiod <- ifelse(fake_times$hour < 6, 'early', 'late')
输出如下所示。
time hour timeperiod
1 2018-04-01 00:00:01 0 early
2 2018-04-01 01:00:01 1 early
3 2018-04-01 02:00:01 2 early
4 2018-04-01 03:00:01 3 early
5 2018-04-01 04:00:01 4 early
6 2018-04-01 05:00:01 5 early
7 2018-04-01 06:00:01 6 late
8 2018-04-01 07:00:01 7 late
9 2018-04-01 08:00:01 8 late
10 2018-04-01 09:00:01 9 late
11 2018-04-01 10:00:01 10 late
12 2018-04-01 11:00:01 11 late
13 2018-04-01 12:00:01 12 late
14 2018-04-01 13:00:01 13 late
15 2018-04-01 14:00:01 14 late
16 2018-04-01 15:00:01 15 late
17 2018-04-01 16:00:01 16 late
18 2018-04-01 17:00:01 17 late
19 2018-04-01 18:00:01 18 late
20 2018-04-01 19:00:01 19 late
21 2018-04-01 20:00:01 20 late
22 2018-04-01 21:00:01 21 late
23 2018-04-01 22:00:01 22 late
24 2018-04-01 23:00:01 23 late
我正在处理声学遥测数据,我正在尝试将我的 "hours" 列进一步划分为间隔。理想情况下,我想说 timeperiod1 是 "early" 如果它介于 00:00:01-06:00:00 等之间或类似性质的东西。我已经使用 strptime 和 POSIXct 来格式化日期和时间,并将小时放入他们自己的专栏中我只是非常坚持这个新 "time period" 专栏的创建和命名,所以我可以 运行 方差分析。
谢谢!
lubridate
包有很好的功能,如 hour()
、year()
等,可以提取日期对象的适当组件。这是一个示例,说明如何使用它在每小时 24 小时的玩具数据集上创建一个新列,并使用 ifelse()
(矢量化 if
)将时间分类为早在 06:00:00.
fake_times <- data.frame(time = as.POSIXct('2018-04-01 00:00:01') + (0:23) * 3600)
library(lubridate)
fake_times$hour <- hour(fake_times$time)
fake_times$timeperiod <- ifelse(fake_times$hour < 6, 'early', 'late')
输出如下所示。
time hour timeperiod
1 2018-04-01 00:00:01 0 early
2 2018-04-01 01:00:01 1 early
3 2018-04-01 02:00:01 2 early
4 2018-04-01 03:00:01 3 early
5 2018-04-01 04:00:01 4 early
6 2018-04-01 05:00:01 5 early
7 2018-04-01 06:00:01 6 late
8 2018-04-01 07:00:01 7 late
9 2018-04-01 08:00:01 8 late
10 2018-04-01 09:00:01 9 late
11 2018-04-01 10:00:01 10 late
12 2018-04-01 11:00:01 11 late
13 2018-04-01 12:00:01 12 late
14 2018-04-01 13:00:01 13 late
15 2018-04-01 14:00:01 14 late
16 2018-04-01 15:00:01 15 late
17 2018-04-01 16:00:01 16 late
18 2018-04-01 17:00:01 17 late
19 2018-04-01 18:00:01 18 late
20 2018-04-01 19:00:01 19 late
21 2018-04-01 20:00:01 20 late
22 2018-04-01 21:00:01 21 late
23 2018-04-01 22:00:01 22 late
24 2018-04-01 23:00:01 23 late