вернуть NA, если дата не верна - PullRequest
2 голосов
/ 08 августа 2011

Я пытаюсь преобразовать строковую дату в POSIXct, используя команду R as.POSIXct Если одна из дат в списке неверна (31 февраля здесь), она возвращает ошибку.Как получить вместо этого NA?

Я прочитал в справке, что Дата и время, о которых известно, что они недействительны, будут возвращены как NA. Это ошибка?

as.POSIXct(c("2011-02-02", "2011-02-31"), tz="GMT")

1 Ответ

8 голосов
/ 08 августа 2011

Вы также должны предоставить строку формата функции, например:

> as.POSIXct(c("2011-02-02", "2011-02-31"), tz="GMT", format='%Y-%m-%d')
[1] "2011-02-02 GMT" NA 

Проблема в том, что без строки формата функция не может выяснить, какая часть строки представляет месяц, а какая частьдень.

РЕДАКТИРОВАТЬ:

Это на самом деле то, на что жаловалась ошибка:

Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...