请考虑以下事项
$ R --vanilla
> as.Date("01 Jan 2000")
Error in charToDate(x) :
character string is not in a standard unambiguous format
Run Code Online (Sandbox Code Playgroud)
但是那个日期显然是标准的明确格式.为什么出现错误信息?
更糟糕的是,一个模棱两可的日期显然是在没有警告或错误的情况下被接受的,然后读错了!
> as.Date("01/01/2000")
[1] "0001-01-20"
Run Code Online (Sandbox Code Playgroud)
我搜索过并在包含此错误消息的[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
Run Code Online (Sandbox Code Playgroud)