10
votes

Convertir la chaîne en date, format: "dd.mm.yyyy"

D <- "06.12.1948"                 # which is dd.mm.yyyy
as.Date(D, "%d.%m.%y")            # convert to date
[1] "2019-12-06"                  # ????    
what is it that I am missing?
  Sys.getlocale(category = "LC_ALL")
  [1] "LC_COLLATE=German_Austria.1252;LC_CTYPE=German_Austria.1252;LC_MONETARY=German_Austria.1252;LC_NUMERIC=C;LC_TIME=German_Austria.1252"

0 commentaires

4 Réponses :


25
votes

Le format est sensible à la casse ("% y" est ambigu et dépend du système, je crois): xxx

la rubrique Aide ? Stristime a des détails: xxx


1 commentaires

Pour développer ce problème, "% y" est pour des années à 2 chiffres, il est donc lu dans le "19" en 1948. Vous voulez "% y" .



0
votes

Peut-être utile pour quelqu'un. J'ai trouvé cette fonction dans le tutoriel "Traitement de la date de traitement dans R" de Cole Beck. La fonction identifie le format de vos données. xxx

[1] "% m.% M.% Y% h:% m"


0 commentaires

4
votes

Pour éviter de vous souvenir des formats de la date, nous pouvons utiliser des solutions emballées.

1) avec lubridate xxx

2) en utilisant à tout moment xxx


0 commentaires

0
votes

Lubridate est la meilleure option pour cela à mon avis. Ce qui suit fonctionnera bien.

`data %>% mutate(date_variable = as.Date(dmy(date_variable)))`


0 commentaires