首页 > 解决方案 > 将日期和小时转换为 xts R

问题描述

我有这张消费表。我正在尝试将前两列转换为一个 xts 日期格式。

1   01.01.2016  00:00:00    26.27724
2   01.01.2016  01:00:00    24.99182
3   01.01.2016  02:00:00    23.53261
4   01.01.2016  03:00:00    22.46478
5   01.01.2016  04:00:00    22.00291
6   01.01.2016  05:00:00    21.95708
7   01.01.2016  06:00:00    22.20354
8   01.01.2016  07:00:00    21.84416

我已经尝试了下面的代码并得到了那个错误。

timestamp=format(as.POSIXct(paste(datecol,hourcol)), "%d/%m/%Y %H:%M:%S")

as.POSIXlt.character(x, tz, ...) 中的错误:字符串不是标准的明确格式

日期是字符,小时是双格式。

标签: rdataframexts

解决方案


如果您尝试结合日期和时间值来创建时间戳,我们可以as.POSIXct在基础 R中使用。

df$timestamp <- as.POSIXct(paste(df$datecol,df$hourcol), 
                          format = "%d.%m.%Y %T", tz = "UTC")

或使用lubridate

df$timestamp <- lubridate::dmy_hms(paste(df$datecol,df$hourcol))

或使用anytime

df$timestamp <- anytime::anytime(paste(df$datecol,df$hourcol))

推荐阅读