Пожалуйста, примите во внимание следующее
$ R --vanilla
> as.Date("01 Jan 2000")
Error in charToDate(x) :
character string is not in a standard unambiguous format
Но эта дата явно имеет стандартный однозначный формат. Почему появляется сообщение об ошибке?
Хуже того, двусмысленная дата, по-видимому, принимается без предупреждения или ошибки, а затем читается неправильно!
> as.Date("01/01/2000")
[1] "0001-01-20"
Я просмотрел и нашел 28 других вопросов в теге [R], содержащем это сообщение об ошибке. Все с решениями и обходными путями, включая указание формата, iiuc. Этот вопрос отличается тем, что я спрашиваю, где в любом случае определены стандартные однозначные форматы и можно ли их изменить? Все получают эти сообщения или это только я? Возможно, это связано с локалью?
Другими словами, есть ли лучшее решение, чем необходимость указывать формат?
29 вопросов, содержащих «стандартный однозначный формат [R]»
> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
as.Date.character
вход проверяется только для этих двух форматов:"%Y-%m-%d"
и"%Y/%m/%d"
. Если он может совпадать с одним из них, это будет считаться «однозначным».