convertir les caractères de temps dans la R
Les données suivantes cadre du "temps" de la colonne est character
id<-c(1,2,3,4)
time<-c("00:00:01","01:02:00","09:30:01","14:15:25")
df<-data.frame(id,time)
Je me demande comment je peux convertir en time
afin que je puisse effectuer des calculs arithmétiques sur elle.
Vous devez vous connecter pour publier un commentaire.
Utiliser la fonction
chron
dans le paquetchron
:Faire certaines choses utiles, comme le calcul de la différence entre les éléments successifs:
chron
objets de stocker les valeurs à l'intérieur comme une fraction de secondes par jour. Donc 1 seconde est équivalente à1/(60*60*24)
, ou1/86400
, c'est à dire1.157407e-05
.Donc, pour ajouter de temps, une option simple est: est-ce
time<-c("01:00:01 am", "01:02:00 pm", "09:30:01 am", "02:15:25 pm")
. Lechron()
ne gère pas que. Donc, est-il une autre fonction?À l'aide de la base de R vous pouvez convertir en un objet de la classe
POSIXct
, mais ce n'est ajouter une date à l'époque:Mais qui ne vous permettent d'effectuer des calculs arithmétiques sur eux.
(df, df$time >"2012-08-20 00:00:01 CEST" | df$time <"2012-08-20 14:15:25 CEST"
œuvres.Une autre alternative pourrait être:
Ou encore:
Encore une autre alternative à l'aide de la
hms
paquet.Convertir colonne
time
à la classehms
Effectuer des calculs arithmétiques
À l'aide de la
ITime
classe dansdata.table
package: