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

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

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

【问题讨论】:

    标签: r csv date vector


    【解决方案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"))
      

      会起作用的。

      【讨论】:

        猜你喜欢
        • 2020-07-12
        • 2021-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多