以下をご検討ください
$ 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"
このエラーメッセージが含まれている[R]タグで28個の質問を検索しました。iiuc形式の指定に関連するソリューションと回避策のすべて。この質問は、とにかく標準の明確なフォーマットをどこに定義しているのかを尋ねている点が異なり、変更できますか?誰もがこれらのメッセージを受け取りますか、それとも私だけですか?おそらくそれはロケールに関連していますか?
言い換えれば、フォーマットを指定する必要があるよりも良い解決策はありますか?
> 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
入力の関数定義による判断は、次の2つの形式についてのみテストされます:"%Y-%m-%d"
および"%Y/%m/%d"
。それらのいずれかに一致する場合は、「あいまいでない」と見なされます。