2015-08-13 3 views
1

Existe-t-il un moyen de stocker les données de temps dans R dans une classe qui ne gère que l'heure (sans les dates)? Je n'ai pas besoin d'inclure de dates et je pense que cela prendra de la place pour la mémoire et la visualisation. Je cherche une classe maigre qui ne gère que les temps, quelque chose comme ceci:Y a-t-il une classe R dans le temps?

t1 = as.Time("10:38") 
t2 = as.Time("10:39") 
t1-t2 

Il existe une fonction as.Date, mais en contrepartie du temps serait génial. POSIXct stocke trop d'informations.

MISE À JOUR: package chron nécessite un travail supplémentaire à ajouter secondes, et la soustraction de temps qui se traduit par des valeurs négatives ne sont plus en forme comme un temps:

>t1 = times(paste0("10:38",":00")) 
>t2 = times(paste0("10:39",":00")) 
> t1-t2 
[1] -0.0006944444 
> t2-t1 
[1] 00:01:00 
+6

Réponse courte: Non. Réponse plus longue: Veuillez mieux faire des recherches sur votre question. –

+0

Il y a la classe 'period' dans le paquet' lubridate'. – SabDeM

+0

Juste au cas où, faites attention à graisser le paquet. – ikashnitsky

Répondre

0

Le paquet data.table a une nouvelle classe ITime qui résout idéalement ce problème.

library(data.table) 
> as.ITime("12:00")-as.ITime("11:10:01") 
[1] "00:49:59" 
4

Comme mon commentaire précédent, voici un exemple de period classe de le paquet lubridate, que je pense que cela pourrait vous être utile. Pour plus d'informations seulement ?Period-class.

library(lubridate) 
t1 <- hm("10:38") 
t1 
[1] "10H 38M 0S" 
t2 <- hm("10:39") 
t1 - t2 
[1] "-1M 0S" 
+1

Merci, le paquet' lubridate' a ce dont j'ai besoin. – FBC