将专栏转为 POSIXct date/time 系列
Turning column into POSIXct date/time series
我正在尝试将我的数据框 (str = 'character') 中格式为 'MM/DD/YYYY HH:MM:SS' 的列重新配置为 date/time 系列列 (str = POSIXct)与 rmweather 包一起使用。
> DNO2$`Date & Time`
`Date & Time`
<dttm>
[1] "31/12/2017 24:00"
[2] "01/01/2018 01:00"
[3] "01/01/2018 02:00"
[4] "01/01/2018 03:00"
[5] "01/01/2018 04:00"
[6] "01/01/2018 05:00"
简而言之,我想从:
'MM/DD/YYYY HH:MM:SS'
到:
'YYYY-MM-DD HH:MM:SS'
我尝试使用 lubridate
包中的 as_datetime()
函数来执行此操作,但我收到了一个奇怪的输出:
> DNO_18$`Date & Time` <- as_datetime(DNO_18$`Date & Time`, tz="Europe/London")
> head(DNO_18)
# A tibble: 6 x 8
`Date & Time` Rathmines Ringsend `St John`
<dttm> <chr> <chr> <chr>
1 2031-12-20 17:24:00 0.299999… 0.90000… NoData
2 2001-01-20 18:01:00 0.299999… 0.80000… NoData
3 2001-01-20 18:02:00 0.299999… 0.90000… NoData
4 2001-01-20 18:03:00 0.100000… 0.80000… NoData
5 2001-01-20 18:04:00 0.200000… 1 NoData
6 2001-01-20 18:05:00 0.200000… 0.90000… NoData
如有任何帮助,我们将不胜感激。
我们可以使用 as.POSIXct
从 base R
DNO_18$`Date & Time` <- as.POSIXct(DNO_18$`Date & Time`, format = "%d/%m/%Y %H:%M")
或 lubridate
library(lubridate)
DNO_18$`Date & Time` <- dmy_hm(DNO_18$`Date & Time`)
我正在尝试将我的数据框 (str = 'character') 中格式为 'MM/DD/YYYY HH:MM:SS' 的列重新配置为 date/time 系列列 (str = POSIXct)与 rmweather 包一起使用。
> DNO2$`Date & Time`
`Date & Time`
<dttm>
[1] "31/12/2017 24:00"
[2] "01/01/2018 01:00"
[3] "01/01/2018 02:00"
[4] "01/01/2018 03:00"
[5] "01/01/2018 04:00"
[6] "01/01/2018 05:00"
简而言之,我想从: 'MM/DD/YYYY HH:MM:SS' 到: 'YYYY-MM-DD HH:MM:SS'
我尝试使用 lubridate
包中的 as_datetime()
函数来执行此操作,但我收到了一个奇怪的输出:
> DNO_18$`Date & Time` <- as_datetime(DNO_18$`Date & Time`, tz="Europe/London")
> head(DNO_18)
# A tibble: 6 x 8
`Date & Time` Rathmines Ringsend `St John`
<dttm> <chr> <chr> <chr>
1 2031-12-20 17:24:00 0.299999… 0.90000… NoData
2 2001-01-20 18:01:00 0.299999… 0.80000… NoData
3 2001-01-20 18:02:00 0.299999… 0.90000… NoData
4 2001-01-20 18:03:00 0.100000… 0.80000… NoData
5 2001-01-20 18:04:00 0.200000… 1 NoData
6 2001-01-20 18:05:00 0.200000… 0.90000… NoData
如有任何帮助,我们将不胜感激。
我们可以使用 as.POSIXct
从 base R
DNO_18$`Date & Time` <- as.POSIXct(DNO_18$`Date & Time`, format = "%d/%m/%Y %H:%M")
或 lubridate
library(lubridate)
DNO_18$`Date & Time` <- dmy_hm(DNO_18$`Date & Time`)