请考虑以下
$ 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
输入的功能定义判断,仅针对以下两种格式进行测试:"%Y-%m-%d"
和"%Y/%m/%d"
。如果它可以匹配其中之一,则似乎被认为是“明确的”。