122
Le logiciel R - Maˆ ıtriser le langage
> z
[1] "2014-06-25 21:40:43 EST"
> as.numeric(z) # Nombre de secondes depuis le 1
er janvier 1970.
[1] 1403696443
> # On peut changer l’origine:
> as.POSIXct(as.numeric(z), origin="1960-01-01")
[1] "2004-06-24 21:40:43 EST"
> # Une quarantaine d’années se sont écoulées:
> as.numeric(z)/60/60/24/7/c(53,52)
[1] 43.79107 44.63320
> z <- as.POSIXlt(z) # Au format POSIXlt.
> class(z) ; is.list(z)
[1] "POSIXlt" "POSIXt"
[1] TRUE
> z
[1] "2014-06-25 21:40:43 EST"
> names(z)
NULL
> z$year # Nombre d’années depuis 1900.
[1] 114
Notez que les fonctions as.POSIXct() et as.POSIXlt() peuvent ˆ etre utilis´ ees soit sur des vecteurs de valeurs num´ eriques, soit sur des vecteurs de chaˆ ınes
de caract` eres. Dans le premier cas, il faudra fournir une valeur au param` etre
origin sous la forme d’une chaˆ ıne de caract` eres repr´ esentant une date. Dans
l’autre cas, chaque chaˆ ıne de caract` eres devra ˆ etre dans un format tel que
"2001-02-03" ou "2001/02/03", suivie de fa¸ con optionnelle par un espace et
une heure au format "14:52" ou "14:52:03". Il pourra ˆ etre int´ eressant d’utiliser
la fonction strptime() pour obtenir un format compatible avec ces fonctions
(voir la table 3.3 pour une description).
> as.POSIXct("2001/02/03")
[1] "2001-02-03 EST"
> as.numeric(as.POSIXct("2001/02/03"))
[1] 981118800
> as.POSIXlt("2001/02/03")$wday
[1] 6
> lct <- Sys.getlocale("LC_TIME") # Récupérer les paramètres
# régionaux.
> Sys.setlocale("LC_TIME","C")
# Voir la remarque en page
# 120.
[1] "C"
> as.POSIXlt(strptime("27/mar/73",format="%d/%b/%y"))
[1] "1973-03-27 EST"
> Sys.setlocale("LC_TIME",lct)
# Redéfinir les paramètres
# régionaux précédents.
[1] "fr_FR.UTF-8"
Précédent

- 156/701

Suivant