我在角色向量中有日期。我不能使用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,以便我可以转换为日期向量。
答案 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"