[R] dates in French format

Gabor Grothendieck ggrothendieck at gmail.com
Thu Jan 31 06:21:35 CET 2008


Suppose we have:

dd <- c("7-déc-07", "11-déc-07", "14-déc-07", "18-déc-07", "21-déc-07",
"24-déc-07", "26-déc-07", "28-déc-07", "31-déc-07", "2-janv-08",
"4-janv-08", "7-janv-08", "9-janv-08", "11-janv-08", "14-janv-08",
"16-janv-08", "18-janv-08")

Try this (where we are assuming the just released chron 2.3-17):

library(chron)
Sys.setlocale("LC_ALL", "French")
as.chron(as.Date(dd, "%d-%b-%y"))

# or with chron 2.3-16 last line is replaced with:
chron(unclass(as.Date(dd, "%d-%b-%y")))

If those don't work (the above didn't work on my Vista system but this
is system dependent and
might work on yours)  then try this alternative

> library(chron)
> library(gsubfn)
> Sys.setlocale('LC_ALL','French')
[1] "LC_COLLATE=French_France.1252;LC_CTYPE=French_France.1252;LC_MONETARY=French_France.1252;LC_NUMERIC=C;LC_TIME=French_France.1252"
> french.months <- format(seq(as.Date("2000-01-01"), length = 12, by = "month"), "%b")
> f <- function (d, m, y) chron(paste(pmatch(m, french.months), d, y, sep = "/"))
> strapply(dd, "(.*)-(.*)-(.*)", f, backref = -3, simplify = c)
 [1] 12/07/07 12/11/07 12/14/07 12/18/07 12/21/07 12/24/07 12/26/07 12/28/07
 [9] 12/31/07 01/02/08 01/04/08 01/07/08 01/09/08 01/11/08 01/14/08 01/16/08
[17] 01/18/08


On Jan 30, 2008 11:29 PM, Denis Chabot <chabotd at globetrotter.net> wrote:
> Hello R users,
>
> I have to import a file with one column containing dates written in
> French short format, such as:
>
>    7-déc-07
>   11-déc-07
>   14-déc-07
>   18-déc-07
>   21-déc-07
>   24-déc-07
>   26-déc-07
>   28-déc-07
>   31-déc-07
>   2-janv-08
>   4-janv-08
>   7-janv-08
>   9-janv-08
>  11-janv-08
>  14-janv-08
>  16-janv-08
>  18-janv-08
>
> There are other columns for other (numeric) variables in the data
> file. In my read.csv2 statement, I indicate that the date column must
> be imported "as.is" to keep it as character.
>
> I would like to transform this into a date object in R. So far I've
> used chron for my dates and times needs, but I am willing to change if
> another object/package will ease the task of importing these dates.
>
> My reading of the chron help led me to believe that the formats it
> understands are only month names in English.
>
> Are there other "formats" I can use with chron, or must I somehow edit
> this character variables to replace French month names by English ones
> (or numbers from 1 to 12)?
>
> Thanks in advance,
>
> Denis
> p.s. I read this in digest mode, so I'll get your replies faster if
> you cc to my email
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list