R中的西班牙日期

Posted

技术标签:

【中文标题】R中的西班牙日期【英文标题】:Spanish dates in R 【发布时间】:2021-12-20 22:56:54 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

您可以(暂时)使用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"

根据您的操作系统,您可能需要使用略有不同的Sys.setlocale() 调用。详情请见this post。

【讨论】:

【参考方案2】:

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

例如,

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

会回来

[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"))

会起作用的。

【讨论】:

以上是关于R中的西班牙日期的主要内容,如果未能解决你的问题,请参考以下文章

PHP-多格式日期西班牙语

在西班牙计算机上将 .csv 文件读入 R 时忽略逗号分隔符 [重复]

使用数据表按西班牙日期排序

-R 上传文件名中包含西班牙字符的文件夹会返回错误

如何强制Excel使用Apache POI以西班牙语语言环境显示值

PHP PHP - 多格式日期西班牙语