gpt4 book ai didi

r - 将多种日期时间格式转换为一种标准格式

转载 作者:行者123 更新时间:2023-12-02 07:28:43 25 4
gpt4 key购买 nike

我试图在 R 中做一些简单的操作,加载表格后我遇到了一个包含多种格式的日期列。

    **Date**
1/28/14 6:43 PM
1/29/14 4:10 PM
1/30/14 12:09 PM
1/30/14 12:12 PM
02-03-14 19:49
02-03-14 20:03
02-05-14 14:33

我需要将其转换为类似 28-01-2014 18:43 的格式,即 %d-%m-%y %h:%m

我试过了

 tablename$Date <- as.Date(as.character(tablename$Date), "%d-%m-%y %h:%m")

但这样做会在整个列中填充 NA。请帮助我解决这个问题!

最佳答案

lubridate 包可以快速解决这个问题:

library(lubridate)

d <- parse_date_time(dates, names(guess_formats(dates, c("mdy HM", "mdy IMp"))))
d
## [1] "2014-01-28 18:43:00 UTC" "2014-01-29 16:10:00 UTC"
## [3] "2014-01-30 12:09:00 UTC" "2014-01-30 12:12:00 UTC"
## [5] "2014-02-03 19:49:00 UTC" "2014-02-03 20:03:00 UTC"
## [7] "2014-02-05 14:33:00 UTC"

# put in desired format

format(d, "%m-%d-%Y %H:%M:%S")
## [1] "01-28-2014 18:43:00" "01-29-2014 16:10:00" "01-30-2014 12:09:00"
## [4] "01-30-2014 12:12:00" "02-03-2014 19:49:00" "02-03-2014 20:03:00"
## [7] "02-05-2014 14:33:00"

如果您遇到其他格式变化,您需要在 guess_formats 中调整向量。

关于r - 将多种日期时间格式转换为一种标准格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24551343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com