如何将字符日期转换为R格式

时间:2016-01-26 11:19:04

标签: r date

我看到过一些类似的问题试图回答这个问题,但没有一个问题适合我的问题。

Converting dates from excel to R

How do I convert dates in this format to a date class in R?

我有约会:

dates <- c("16 Jan 63", "16 Jan 73", "17 Jul 62", "25 Aug 60")

所有年份都以“19 - ”开头

我认为使用的显而易见的解决方案是as.Datestrptime函数:

dates <- as.Date(dates, "%d %b %y")
dates
[1] "2063-01-16" "2073-01-16" "2062-07-17" "2060-08-25"

正如您所看到的,问题在于年份,没有一个被正确转换。

我的下一个解决方案是使用strsplit

dates <- c("16 Jan 63", "16 Jan 73", "17 Jul 62", "25 Aug 60")
new.dates <-  strsplit(dates, " ")
new.dates
[[1]]
[1] "16"  "Jan" "63" 

[[2]]
[1] "16"  "Jan" "73" 
# etc

然而,当我尝试在年前粘贴“19”时,问题就开始了,然后将它们折叠回同一个角色。

new.dates[?] <- paste0("19", new.dates[?])
new.dates[?] <- paste(new.dates[?], collapse = " ")

我不知道粘贴的尺寸是多少。最后我想使用以下方式格式化日期:

new.dates <- strptime(new.dates, "%d %b %Y")
new.dates <- as.Date(new.dates)

如果有人对如何执行此操作有任何建议,或者链接到已经回答的问题,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

我们可以尝试

as.Date(format(as.Date(dates,"%d %B %y"), "19%y-%m-%d"))