R Read abbreviated month form a date that is not in English

后端 未结 2 1225
南旧
南旧 2020-12-20 20:45

I have a text file that includes dates, and want to convert it to a datatable.

Converting the dates such as 03-FEB-2011 can be done with

data$fecha &         


        
相关标签:
2条回答
  • 2020-12-20 21:33

    If you can't add locales to your OS,

    > Sys.setlocale(locale = "es")
    [1] ""
    Warning message:
    In Sys.setlocale(locale = "es") :
    OS reports request to set locale to "es" cannot be honored
    

    the package readr() has ways to specify and even create locales:

    > library(readr) 
    > parse_date("31 DICIEMBRE 2011","%d %B %Y",locale=locale("es"))
    [1] "2011-12-31"
    
    0 讨论(0)
  • 2020-12-20 21:44

    As my previous comment, here is a complete and tested answer. As I've said you have to set your locale to the one right for your data (in this case spanish).

    The code that allows you to do that is the following:

    Sys.setlocale(locale="es_ES.UTF-8")
    

    you can see the complete list of available locales with system("locale -a", intern = TRUE) (not sure if it works well on Windows systems).

    Here is an example:

    x <- c("03-Ago-2011", "21-Ene-2012")
    as.Date(x, format = "%d-%b-%Y")
    [1] "2011-08-03" "2012-01-21"
    
    0 讨论(0)
提交回复
热议问题