2016-12-01 3 views
-2

Je travaille actuellement sur le paquet adehabitatLT. J'ai mis ma colonne date_time en caractères et l'a nommé da:Conversion de mes dates en une classe POSIXct

da < -as.character (dat date_time de $)

tête (da)

[1] « 7/08/2015 0:22 "" 7/08/2015 0:52 "" 7/08/2015 1:22 "" 7/08/2015 1:52 "" 7/08/2015 2:56 "" 7/08/2015 03:26"

Comme vous pouvez voir mon entrée date_time est un peu non traditionnel et je pense que c'est là que l'erreur se produit, parce que quand je crée la POSIXct de classe:

da < -as.POSIXct (strptime (as.character (dat $ date_time), "% d /% m /% y% H:% M:% S"))

Il crée la classe mais je reçois NA pour toutes mes valeurs:

tête (da) [1] ND ND ND ND ND ND

Mon objectif final est ici pour créer un objet de la ltraj de classe (mais non seulement contenant la date mais aussi l'heure).

Vous avez des idées?

Cordialement,

Sam

da < -as.POSIXct (strptime (as.character (locs $ Date), "% y% m% d"))

Répondre

0

Lors de l'analyse des formats de date/heure difficiles, il peut être utile d'utiliser le paquet lubridate de Garrett Grolemund et Hadley Wickham.

Dans votre cas, il suffit de faire

require (lubridate)

un < - dmy_hm (da)

Le séparateur et le nombre de chiffres pour le jour ou le mois ou les heures etc sont automatiquement analysés.

Find more info here

1

Le format devrait être modifié pour

as.POSIXct(strptime(da, "%d/%m/%Y %H:%M")) 

Ou si le mois est d'abord suivi par jour, puis changer à "%m/%d/%Y %H:%M"

+0

Merci beaucoup akrun, cela semble avoir fonctionné! – SamR

+0

@SamR Content de vous aider. Vous pouvez également vérifier [ici] (http://stackoverflow.com/help/someone-answers) – akrun