as.Date смещение года в R

Я загрузил данные из csv, которые содержат даты в формате 25-DEC-2018. Я загрузил этот csv как data.frame, используя read.csv, который преобразовал dates в Factors. Я хочу преобразовать их обратно в даты, используя функцию as.Date. Я использую команду:

test1 <- as.Date(dateframe,format="%d-%b-%y")

Однако результирующее значение для test1 равно 2020-12-25, что на 2 года больше, чем значение date.frame от 25 декабря 2018 года. Любые идеи, что может быть причиной этого? Или есть более простой способ загрузить данные даты как Date вместо Factor?


person John    schedule 05.03.2019    source источник
comment
Вам нужно %Y для четырехзначного года.   -  person Dirk Eddelbuettel    schedule 05.03.2019
comment
Или вы используете anydate(...) из пакета anytime(), который существует, потому что все это слишком утомительно и подвержено ошибкам.   -  person Dirk Eddelbuettel    schedule 05.03.2019
comment
И, вероятно, есть несколько десятков других дубликатов, которые мы могли бы выбрать, чтобы закрыть это.   -  person Dirk Eddelbuettel    schedule 05.03.2019


Ответы (1)


Пытаться

test1 <- as.Date(as.character(dateframe),format="%d-%b-%Y")
person Ricardo Alonso Esparza Gamez    schedule 05.03.2019
comment
Все еще неправильно, так как он использует %y вместо %Y. Попробуйте anytime::anydate(); он также конвертирует из factor для вас, если это необходимо. - person Dirk Eddelbuettel; 05.03.2019
comment
Точно, я этого не заметил. Спасибо, что поделились пакетом в любое время. - person Ricardo Alonso Esparza Gamez; 06.03.2019