短月份名称中以点R

时间:2018-10-12 15:53:10

标签: r as.date

我在Windows中遇到R和短个月缩写的问题。

我刚刚将PC更新到Windows 10,Windows的本地设置为西班牙语,但是R重新配置为英语(我想)。

我有一些数据,其中Date的格式为*"%b %d, %Y"*并且是西班牙语,因此,如果日期为January 1st 2018,它将被写为***ene 1, 2018***

在更新Windows之前,将日期设置为以下没有任何问题:

as.Date("ene 1, 2018", format = "%b %d, %Y")

这又返回了

  

“ 2018-01-01”

符合预期。

更新后,我在读取这种日期格式时遇到了问题,因此如果查看sessionInfo(),它会显示LC_TIME = C。我使用Sys.setlocale("LC_TIME","Spanish")

将其更改为西班牙语

现在,如果我写format(as.Date('2018-01-01'), "%b %d, %Y")我会得到

  

“ ene。01,2018” *

(请注意,短月份的名称后面有一个点)

我想删除 ene中的点。,因为我的日期写成没有点,所以现在处理的日期给了我 NA

有点可笑的是,在我的代码中添加Sys.setlocale("LC_TIME","Spanish")然后运行它,我得到的日期栏很好。但是,如果我第二次运行它,则会得到NA。因此,如果我想第二次运行代码以获取日期和报告(使用R Markdown)而没有错误,则需要重新启动R。

我应该使用什么配置?还是有解决此问题的另一种方法?

如果我写sessionInfo(),我会得到:

  

语言环境:LC_COLLATE = Spanish_Chile.1252 LC_CTYPE = Spanish_Chile.1252   LC_MONETARY =西班牙语_智利.1252 LC_NUMERIC = C LC_TIME =西班牙语_西班牙.1252

谢谢!

0 个答案:

没有答案