gpt4 book ai didi

r - 如何将多个日期格式转换为 `` `as.posixct ``` ?

转载 作者:行者123 更新时间:2023-12-04 10:40:36 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





converting multiple date formats into one in r

(2 个回答)


去年关闭。




嗨,我的数据中有多种日期格式。
如何转换为日期格式 as.posixct下面是示例数据。

df <- data.frame(date=c('01-12-2019','44166','12-08-2019','01/27/2020'))

任何帮助将不胜感激。

最佳答案

一种可能性是分别处理不同的日期格式(这可能可以通过 tryFormats 中的 as.Date 参数实现,但由于日期格式缺乏统一性,因此不太可能使用):

df$date <-stringr::str_replace_all(df$date,"/","-") #format won't work without this
good_formats <-df[grepl("\\D",df$date),]
bad_formats<- df[!grepl("\\D",df$date),] #They're not bad, just think they're less programmer friendly
good_formats<-as.Date(good_formats,
format=c("%d-%m-%Y","%d-%m-%Y","%m-%d-%Y"))
bad_formats <- as.Date(as.numeric(bad_formats),origin="1970-01-01")
data.frame(date=c(good_formats,bad_formats))

结果:
   date
1 2019-12-01
2 2019-08-12
3 2020-01-27
4 2090-12-03

结果的结构:
'data.frame':   4 obs. of  1 variable:
$ date: Date, format: "2019-12-01" ...

数据:
data.frame(date=c('01-12-2019','44166','12-08-2019','01/27/2020')

关于r - 如何将多个日期格式转换为 `` `as.posixct ``` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59949973/

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