我的列currentdate包含类因子中的日期,格式为1/1/2017。我想把日期转换成2017-01。我的下面的代码给出了错误:
代码:
data$NewDate <- format(as.Date(data$currentdate), "%Y-%m")
错误:
charToDate(x)出错:字符串不在标准中 明确的格式
我该如何解决?
答案 0 :(得分:0)
您的数据$ currentdate可能不是明确的格式,需要在as.Date()中指定。
这样的事情:
format(as.Date("01/01/2017", format="%m/%d/%Y"), "%Y-%m")
答案 1 :(得分:0)
您需要在as.Date()中指定日期格式,因为如果日期/月/年或月/日/年它不能用数字来猜测:
dates <- c('1/1/2017', '12/1/2017', '1/10/2017', '11/10/2017')
format(as.Date(dates, '%d/%m/%Y'), '%Y-%m')
如果您需要将值存储为日期/时间,请使用POSIXct类:
newdates <- as.POSIXct(dates, format = '%d/%m/%Y')
然后在显示数据时指定格式:
format(newdates, '%Y-%m')