我需要将大量日期从“ dd / mm / YY”格式重新构建为“ YYYY-mm-dd”格式。 日期存储为字符,我必须保持这种方式。 我尝试过strsplit,但是仅在单个日期有效,而不能循环使用。 编辑 问题的根源在于无法将日期转换为日期类型,我不再确定将其保留为字符的方向是否可以帮助我解决该问题。我将列表替换为一个段,该段在转换为日期时返回NA。 下面的可复制示例。我将不胜感激
ex_dates <- c("12/10/2016", "12/10/2016", "12/10/2016", "12/10/2016", "12/10/2016", "12/10/2016", "13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016",
"13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016", "13/10/2016")
# a successful attempt with a single date
d1 <- strsplit("01/01/2016", "/")[[1]]
d1
#output
[1] "01" "01" "2016"
d2 <- paste(c(d1[3],d1[1],d1[2]), collapse = "-")
d2
#output
[1] "2016-01-01"
# a failed attempt with a loop function
ordate <- function(x) {
for (i in x) {
adate <- strsplit(i, "/")[[1]]
bdate <- paste(c(adate[3],adate[1],adate[2]), collapse = "-")
x <- bdate
}
}
ordate(ex_list_of_dates)
#output
[1] "01/01/2016" "01/01/2016" "01/01/2016" "01/01/2016" "01/01/2016" "01/01/2016" ...