R 中的西班牙日期

Spanish dates in R

我必须修改 R 中的日期向量。然而,日期是用西班牙语写的。如果数据不是英文的,我该如何处理?

例如,“Jan 02 1987”是“ene 02 1987”

您可以通过 Sys.setlocale()(暂时)将您的语言更改为“西班牙语”。例如,在我的 Windows 机器上,以下工作

# My default locale is (Australian) English
x <- c("Jan 02 1987", "ene 02 1987")
as.Date(x, "%b %d %Y")
#[1] "1987-01-02" NA 

Sys.setlocale("LC_TIME", "Spanish")
as.Date(x, "%b %d %Y")
#[1] NA           "1987-01-02"

根据您的 OS,您可能需要使用略有不同的 Sys.setlocale() 调用。有关详细信息,请参阅

如果 Sys.setlocale 不起作用,您可以使用 readr 包中的 parse_date 函数。

例如,

parse_date(c("ene. 30 2016", "feb. 1 2017"), "%b %d %Y", locale = locale("es"))

将return

[1] "2016-01-30" "2017-02-01"

(因为我的Sys.locale所以月份是数字打印的。没关系。)

如果你的向量没有.个月后,

x <- c("ene 30 2016", "feb 1 2017")    
parse_date(paste(paste0(word(x,1), "."), word(x,2,3)), "%b %d %Y", locale = locale("es"))

会起作用。