R以错误的语言

时间:2017-01-31 14:51:04

标签: r date format

我正在运行我的同事前一段时间写在他的Rstudio上的代码,我仍然坚持看似非常愚蠢的问题。我在数据框中有一个变量,它是一个字符并代表一个日期,例如

30jan2016
38feb2016

我需要将此字符串转换为日期变量,我使用以下内容:

df$newvar <- format(as.Date(df$oldvar, format="%d%b%Y"), format="%Y%m%d")

这就是我得到的:

NA
2016-02-28

经过一段时间后,虽然我意识到我的Rstudio正在读意大利语中字符串的“月份”部分(下面你可以找到月份缩写ENG-ITA的比较),并正确解码它在ITALIAN中可以读到的内容。改变全球语言选项没有帮助(并且无论如何R语言已经设置为英语)。有什么想法吗?

谢谢!

ENG    ITA
jan    gen
feb    feb
mar    mar
apr    apr
may    mag
jun    giu
jul    lug
aug    ago
sep    set
oct    ott
nov    nov
dec    dic

注意:当然我可以替换字符串的一部分,然后运行这段代码,但是我需要这个代码在任何计算机上以英文运行。

1 个答案:

答案 0 :(得分:1)

试试readr。可以手动设置区域设置。

library(readr)
parse_date(c("30jan2016", "1feb2017"), "%d%b%Y", locale = locale("en"))