2 votes

Problèmes R pour transformer un nombre en date

J'essaie de convertir une colonne d'un cadre de données (DA$Date), mais je n'y parviens pas.

Dans ma colonne, il y a des nombres comme 1012010 correspondant au 1er janvier 2010. J'utilise la commande

dates <- as.Date (DA $ Date, format = "% d% m% y")

mais le résultat laisse

dates[1]

[1] "10/12/2001"

Cela ne correspond pas à la date exacte.

Vous avez déjà utilisé la commande

dates2 <- as.POSIXct (as.numeric (as.character (DA $ data)), origin = "2010-01-01")

mais sans succès.

Exemple de colonne Date

1 1012010 1012010 1012010 1012010 1012010 1012010 1012010 1012010 1012010 2012010 [ ] [ ] 2012010 2012010 2012010 2012010 2012010 2012010 2012010 3012010 3012010 3012010 3012010 3012010 3012010 3012010 3012010 3012010 3012010 3012010 3012010 3012010 2012010 3012010 [ ] 4012010 [ ] 4012010 [ ] 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 4012010 5012010 5012010 5012010 5012010 [ ] 5012010 5012010 5012010 5012010 5012010 5012010 [ ] 6012010 6012010 2012010 6012010 [ ] 6012010 6012010 6012010 6012010 6012010 [ ] 6012010 6012010 6012010 6012010 6012010 6012010 6012010 6012010 7012010 7012010 7012010 7012010 7012010 7012010 7012010

1voto

akrun Points 148302

Nous pouvons le faire en ajoutant 0 à l'avant, puis en utilisant as.Date con format = "%d%m%Y"

as.Date(sprintf("%08d", v1), "%d%m%Y")
#[1] "2010-01-01" "2010-01-06" "2010-01-16" "2010-12-01" "2010-12-15"

données

v1 <- c(1012010, 6012010, 16012010, 1122010, 15122010)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X