Lubridate ускорить дату и время операции - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь конвертировать 04/03/2019 07:22:14 -> 2019-04-03 07:22:14 с lubridate пакетом.Мой подход работает хорошо, но он очень медленный:

library(dplyr)
library(lubridate)

df <- data.frame(DateTimeStamp=replicate(9e5,"04/03/2019 07:22:14"), 
stringsAsFactors = F) %>%
  mutate(DateTimeStamp_Changed=as.POSIXct(unlist(lapply(DateTimeStamp, 
function(item) {
    return(as.character(parse_date_time(paste0(
      as.Date(unlist(strsplit(item," "))[1], "%m/%d/%Y"),
      unlist(strsplit(item," "))[2]
    ), orders="ymd HMS")))
  }))))

Есть ли способ как это ускорить?Спасибо за любую вашу подсказку.

1 Ответ

1 голос
/ 04 апреля 2019

Вы можете использовать функцию ymd_hms() из библиотеки lubridate

library(lubridate)
library(dplyr)

"04/03/2019 07:22:14" %>%
    fast_strptime(format = '%d/%m/%Y %H:%M:%S') %>% 
    ymd_hms()
# [1] "2019-03-04 07:22:14 UTC"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...