R неверное значение функции даты

Я пытаюсь использовать как.Дата в Р.

Я использую команду:

as.Date("65-05-14", "%y-%m-%d")

Я получил:

"2065-05-14"

Есть ли способ, чтобы вместо этого показать 1965? Или мне нужно перекодировать все в длинный формат - например, добавить 1900 в виде числа?

Спасибо!

1 ответ

Решение

Я не видел этого простого решения в связанных вопросах, поэтому добавляю его и здесь.

В базе R вы можете просто использовать as.POSIXlt класс, который обеспечивает year приписывать. Затем вы можете просто сократить 100 лет.

Допустим, это ваш вектор дат

(Date <- c("65-05-14", "15-05-14", "25-05-14", "34-05-14"))
## [1] "65-05-14" "15-05-14" "25-05-14" "34-05-14"

Вы можете просто сделать

Date <- as.POSIXlt(Date, format = "%y-%m-%d")
Date$year <- Date$year - 100L
Date # Alternatively, you could also do `as.Date(Date)`
## [1] "1965-05-14 IDT" "1915-05-14 IDT" "1925-05-14 IDT" "1934-05-14 IDT"
Другие вопросы по тегам