将前导零添加到日期

时间:2017-07-21 20:06:24

标签: r date dataframe gsub ambiguous

我在角色向量中有日期。我不能使用as.Date轻松转换为日期向量,因为并非所有字符串都具有mm / dd / yyyy形式,因此给出了模糊日期错误。有些字符串的格式为m / dd / yyyy(月1:9)。

这是向量的一部分:

data$Date <- c("8/26/2014","3/10/2014","9/25/2014","11/12/2014","8/4/2015")

日期指示器让我知道我需要将哪些字符串添加到

data$date <- grepl("[0-9]{2}/[0-9]{2}/[0-9]{4}", data$Date)

尝试通过条件添加零:

data$Date<-ifelse(data$date == "FALSE", paste0("0", data$Date), data$Date)

不起作用(我不熟悉粘贴)。任何简洁的解决方案,将领先的零个数加到个位数月(m / dd / yyy)?我猜gsub还是sub?我需要所有字符串格式为mm / dd / yyy,以便我可以转换为日期向量。

1 个答案:

答案 0 :(得分:1)

data <- data.frame(Date=c("8/26/2014","3/10/2014","9/25/2014","11/12/2014","8/4/2015"))

as.Date(data$Date,format="%m/%d/%Y") 

对我的数据很好。输出

"2014-08-26" "2014-03-10" "2014-09-25" "2014-11-12" "2015-08-04"