分裂间隔日期的性格日期,并将日期投入r

发布于 2025-01-21 08:32:22 字数 614 浏览 0 评论 0原文

我的字符(来自ientso-e平台)的日期列低于日期列。我想转换为日期并提取此间隔的末端部分([1]“ 01.01.2021 00:00- 01.01.2021 01:00 ”)。我正在收到错误“以明确格式的字符字符串”。有什么建议如何将字符格式间隔的第二部分提取到r中的日期变量?

head(date)
  • “ 01.01.2021 00:00-01.01.2021 01:00”
  • “ 01.01.2021 01:00-01.01.01.2021 02:00”
  • :00-01.01.01.01.01.2021 03:00
  • 01.01.01.01.2021 02 :00-01.01.2021 04:00“
  • ” 01.01.2021 04:00-01.01.2021 05:00“
  • ” 01.01.01.2021 05:00-01.01.01.01.2021 06:00
  AS.Posixlt.Character(X,TZ,...)中的错误: 
  字符字符串不是标准的明确格式
 

I have below Date column in character (from ENTSO-E platform). I want to convert into Date and extract the end part of this Interval ([1] "01.01.2021 00:00 - 01.01.2021 01:00"). I am receiving error "character string in unambiguous format". Any suggestions how can I extract the second part of the interval that is in character format to a Date variable in R?

head(date)
  • "01.01.2021 00:00 - 01.01.2021 01:00"
  • "01.01.2021 01:00 - 01.01.2021 02:00"
  • "01.01.2021 02:00 - 01.01.2021 03:00"
  • "01.01.2021 03:00 - 01.01.2021 04:00"
  • "01.01.2021 04:00 - 01.01.2021 05:00"
  • "01.01.2021 05:00 - 01.01.2021 06:00"
Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

皇甫轩 2025-01-28 08:32:22
as.POSIXct(gsub("^.* - (.*)", "\\1", x), format = "%d.%m.%Y %H:%M")
# [1] "2021-01-01 01:00:00 CET" "2021-01-01 02:00:00 CET" "2021-01-01 03:00:00 CET" "2021-01-01 04:00:00 CET"
# [5] "2021-01-01 05:00:00 CET"

样本数据

x <- c("01.01.2021 00:00 - 01.01.2021 01:00",
       "01.01.2021 01:00 - 01.01.2021 02:00",
       "01.01.2021 02:00 - 01.01.2021 03:00",
       "01.01.2021 03:00 - 01.01.2021 04:00",
       "01.01.2021 04:00 - 01.01.2021 05:00")
as.POSIXct(gsub("^.* - (.*)", "\\1", x), format = "%d.%m.%Y %H:%M")
# [1] "2021-01-01 01:00:00 CET" "2021-01-01 02:00:00 CET" "2021-01-01 03:00:00 CET" "2021-01-01 04:00:00 CET"
# [5] "2021-01-01 05:00:00 CET"

sample data

x <- c("01.01.2021 00:00 - 01.01.2021 01:00",
       "01.01.2021 01:00 - 01.01.2021 02:00",
       "01.01.2021 02:00 - 01.01.2021 03:00",
       "01.01.2021 03:00 - 01.01.2021 04:00",
       "01.01.2021 04:00 - 01.01.2021 05:00")
被你宠の有点坏 2025-01-28 08:32:22

这是tidyverselubridate s dmy_hm函数:

library(lubridate)
library(dplyr)
library(tidyr)
df %>% 
  separate(date, c("a", "date"), " - ") %>% 
  mutate(date = dmy_hm(date), .keep="used")
date               
  <dttm>             
1 2021-01-01 01:00:00
2 2021-01-01 02:00:00
3 2021-01-01 03:00:00
4 2021-01-01 04:00:00
5 2021-01-01 05:00:00
6 2021-01-01 06:00:00

Here is tidyverse in combination with lubridates dmy_hm function:

library(lubridate)
library(dplyr)
library(tidyr)
df %>% 
  separate(date, c("a", "date"), " - ") %>% 
  mutate(date = dmy_hm(date), .keep="used")
date               
  <dttm>             
1 2021-01-01 01:00:00
2 2021-01-01 02:00:00
3 2021-01-01 03:00:00
4 2021-01-01 04:00:00
5 2021-01-01 05:00:00
6 2021-01-01 06:00:00
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文