10
votes

Comment créer un objet DateTime à partir de champs de date distincts?

J'ai un jeu de données comme celui-ci:

    Year MM DD HH
158 2010  7  1  5
159 2010  7  1  5
160 2010  7  1  6
161 2010  7  1  6

structure(list(Year = c(2010L, 2010L, 2010L, 2010L), MM = c(7L, 
7L, 7L, 7L), DD = c(1L, 1L, 1L, 1L), HH = c(5L, 5L, 6L, 6L)), .Names = c("Year", 
"MM", "DD", "HH"), row.names = 158:161, class = "data.frame")


3 Réponses :


4
votes

En supposant que vous avez de vos données dans un fichier de données x : xxx


2 commentaires

AS.Posixcct est un bien meilleur choix s'il s'agit d'être une nouvelle colonne dans une donnée.


@mdsumner oui, bon point. Il semble le convertir quand même, mais je vais le mettre explicitement



13
votes

Il y a quelques options, voici un (où x est votre data.frame): xxx

Vous pouvez passer dans le bon fuseau horaire si nécessaire , voir ? isodateTime .


1 commentaires

Nice, isodateTime est beaucoup plus pratique que mon clumsy coller construction!



6
votes

Vous pouvez maintenant faire cela dans lubridate en utilisant make_date ou make_datetime :

du cran doc: xxx


0 commentaires