Будь ласка, враховуйте наступне
$ 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"
. Якщо це може відповідати одному з них, це, здається, вважається "однозначним".