R中的格式日期

时间:2016-06-06 20:59:39

标签: r date dataframe formatting

我有一个数据框,其中日期存储在一列中。但问题是某些值使用%d-%m-%y格式存储,而其他值以%Y-%m-%d格式存储。我想要一种格式的所有值,所以我尝试了

df$dateCol= as.Date(df$dateCol, format = "%d-%m-%y")

但它没有正确格式化值

解决此问题的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以执行简单ifelse()检查短划线-的位置:

x <- c("07-06-2016","2016-06-07","2015-01-01")
as.Date(x, ifelse(substr(x, 5, 5)=="-", "%Y-%m-%d", "%d-%m-%Y") )
#[1] "2016-06-07" "2016-06-07" "2015-01-01"