【问题标题】:Converting date and hour into xts R将日期和小时转换为 xts R
【发布时间】:2023-03-24 14:24:01
【问题描述】:

我有这张消费表。我正在尝试将前两列转换为一个 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, ...) 中的错误: 字符串不是标准的明确格式

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

【问题讨论】:

  • 在您的as.POSIXct() 中,您需要设置数据转换的格式(例如,如果您的数据以2016-01-23 开头,则它需要是as.POSIXct(..., format = "%Y-%m-%d")跨度>

标签: r dataframe xts


【解决方案1】:

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

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))

【讨论】:

    猜你喜欢
    • 2018-06-22
    • 2020-05-22
    • 2021-12-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    相关资源
    最近更新 更多