我有一个数据帧,其中日期-时间列以4小时为间隔.当时间分量应为00:00:00
(小时:分钟:秒)时,日期中缺少时间.如果没有时间,我怎么能在日期上加上00:00:00
呢?
示例数据
dat <- data.frame(
dateTime = c('2016-07-01',
'2016-07-01 04:00:00',
'2016-07-01 08:00:00',
'2016-07-01 12:00:00',
'2016-07-01 16:00:00',
'2016-07-01 20:00:00',
'2016-07-02')
)
str(dat)
#> 'data.frame': 7 obs. of 1 variable:
#> $ dateTime: chr "2016-07-01" "2016-07-01 04:00:00" "2016-07-01 08:00:00" "2016-07-01 12:00:00" ...
dat
#> dateTime
#> 1 2016-07-01
#> 2 2016-07-01 04:00:00
#> 3 2016-07-01 08:00:00
#> 4 2016-07-01 12:00:00
#> 5 2016-07-01 16:00:00
#> 6 2016-07-01 20:00:00
#> 7 2016-07-02
我可以在下面使用它,但是,我的实际数据集缺少行,所以我正在寻找一种替代方案,在没有时间的情况下可以添加00:00:00
.
library(tidyverse)
dat <- dat %>%
mutate(dateTime_cor = seq(from = as.POSIXct("2016-07-01 00:00:00"),
to = as.POSIXct("2016-07-02 00:00:00"),
by = "4 hours")) %>%
select(-dateTime)
str(dat)
#> 'data.frame': 7 obs. of 1 variable:
#> $ dateTime_cor: POSIXct, format: "2016-07-01 00:00:00" "2016-07-01 04:00:00" ...
dat
#> dateTime_cor
#> 1 2016-07-01 00:00:00
#> 2 2016-07-01 04:00:00
#> 3 2016-07-01 08:00:00
#> 4 2016-07-01 12:00:00
#> 5 2016-07-01 16:00:00
#> 6 2016-07-01 20:00:00
#> 7 2016-07-02 00:00:00
创建于2024-01-16年第reprex v2.0.2页