R中的格式化日期问题

Formatting Date issue in R

我有一些包含日期的数据。这些日期的格式如下:

5/9/17
6/8/17
6/9/18
6/19/19

我正在尝试格式化它们,使它们看起来像这样:

2017-05-09
2018-06-08
2018-06-09
2019-06-19

我的尝试是这样表达的:

table$date_purchased <- format(as.Date(data$date_purchased), "%Y-%b-%d")

它 returns 丑陋的结果看起来是这样的:

 [1] "0005-Sep-17" "0006-Aug-18" "0006-Sep-18" NA         

我做错了什么?我一直在网上关注指南,但仍然得到不稳定的结果。

您需要告诉 as.Date 您的日期最初采用的格式。另外 %b 会给你月份的名称。使用 %m 获取数字。

dates <- c("5/9/17",
"6/8/17",
"6/9/18",
"6/19/19")


format(as.Date(dates, format = "%m/%d/%y"), "%Y-%m-%d")
[1] "2017-05-09" "2017-06-08" "2018-06-09" "2019-06-19"

您可能需要将其他格式信息传递给 as.Date()(说明原始日期格式是什么)并在输出格式中使用 %m 而不是 %b

table$date_purchased <- format(as.Date(data$date_purchased, "%m/%d/%y"), "%Y-%m-%d")