#r #datetime #formatting #posixct
#r #дата и время #форматирование #posixct
Вопрос:
Хорошо, это странно… У меня есть столбец, полный дат, но когда я проводил анализ ggplot2
, он продолжал выдавать мне предупреждение:
Предупреждающие сообщения: 1: Удалена 1 строка (строки), содержащая пропущенные значения (geom_path). 2: Удалены 1 строки, содержащие пропущенные значения (geom_point).
Когда я пошел искать, дата 19/10/2008
была заменена на NA
когда я это сделал as.POSIXct()
. Когда я изолирую, я получаю тот же результат:
> as.POSIXct("19/10/2008", format = "%d/%m/%Y")
[1] NA
Однако то же самое не происходит для 19/10/2009
or 19/05/2008
или 18/10/2008
or 20/10/2008
и, вероятно, многих других. На самом деле, я не нашел дату, которая имеет такое же свойство… Почему это происходит? И как я могу это исправить? Это вообще можно исправить?
РЕДАКТИРОВАТЬ: я не знаю, что это делает, но меня попросили добавить это:
> Sys.getlocale("LC_TIME")
[1] "en_US.UTF-8"
> Sys.timezone()
[1] "America/Sao_Paulo"
Комментарии:
1. Пожалуйста, добавьте результаты
Sys.getlocale("LC_TIME")
иSys.timezone()
к вашему вопросу.2. Выполнено. Почему это необходимо?
3. Как обычно, проблема в DST. Эта дата является началом летнего времени в Бразилии. Поскольку вы неявно указываете 00:00:00, и это время не существовало из-за изменения времени, вы получаете
NA
.4. В любом случае, почему вы используете
as.POSIXct
, а неas.Date
используете?5.
as.POSIXct
создает объект даты и времени.as.Date
создает объект date.