【发布时间】:2013-07-25 11:13:14
【问题描述】:
我有一个带有法语日期的字符向量。我想将它们转换为 R 中的日期格式。它似乎有效,但有一些神秘的错误。例如,R 识别“30 juin 2012”但不识别“30 juillet 2012”:
> as.Date("30 juin 2012", format = "%d %B %Y")
[1] "2012-06-30"
> as.Date("28 février 2012", format = "%d %B %Y")
[1] "2012-02-28"
> as.Date("30 juillet 2012", format = "%d %B %Y")
[1] NA
你有什么解释吗?
PS : 我的本地设置是法语 UTF8
> Sys.getlocale()
[1] "fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8"
【问题讨论】:
-
嗯。当我做
Sys.setlocale(locale="fr_FR.UTF-8")时,你所有的代码都对我有用。 (我没有法语语言包,而且我在 Linux 上,所以我先运行sudo locale-gen fr_FR.UTF-8,然后运行 sudo dpg-reconfigure locales)。也许尝试使用小写的%b而不是%B?你的操作系统是什么? -
通过将我的语言环境设置为法语,您的所有代码也适用于我。
format(as.Date(c("2000-06-01", "2000-07-01")), "%B")的输出是什么? -
@GSee :我在 Mac OS 10.8 上,使用 %b 而不是 %B 得到了相同的结果
-
@dickoa :好主意,但我仍然没有看到问题:
> format(as.Date(c("2000-06-01", "2000-07-01")), "%B") [1] "juin" "juillet"