我正在尝试使用lubridate软件包转换04/03/2019 07:22:14-> 2019-04-03 07:22:14我的方法效果很好,但速度很慢:
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")))
}))))
有什么办法可以加快速度吗?感谢您的任何提示。
答案 0 :(得分:1)
您可以从库 lubridate
中使用功能ymd_hms()
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"