Подтвердить что ты не робот

Дата форматирования в R yyyymmdd

Я хотел бы преобразовать эти даты в формате YYYYMMDD в класс Date.

dates <- data.frame(Date = c("20130707", "20130706", "20130705", "20130704"))

Я пробовал:

dates <- as.Date(dates, "%Y%m%d")

И я получаю следующую ошибку:

Error in as.Date.default(dates, "%Y%m%d") : 
  do not know how to convert 'dates' to class "Date"

Каким будет правильный способ установить этот формат?

4b9b3361

Ответ 1

Вам нужно предоставить столбец Date, а не весь data.frame.

R> as.Date(dates[["Date"]], "%Y%m%d")
[1] "2013-07-07" "2013-07-06" "2013-07-05" "2013-07-04"

Ответ 2

Классический R:

> start_numeric <- as.Date('20170215', format = '%Y%m%d');
> start_numeric
[1] "2017-02-15"
> format(start_numeric, "%Y%m%d")
[1] "20170215"

Ответ 3

Для меня работает дополнительное преобразование в символы:

dates<-as.Date(as.character(dates),format="%Y%m%d")

Без преобразования возникает следующая ошибка:

dates<-as.Date(dates,format="%Y%m%d")
Error in as.Date.numeric(dates, format = "%Y%m%d") : 
  'origin' must be supplied

Различные ошибки, но это может помочь, также работает для POSIXct, вставьте дату и часы, формат% Y% m% d% H