2010-07-26 13 views
2

J'ai un ensemble de données doivent être tracées (1M lignes) avec R. La colonne d'heure (colonne 1) est au format hh: mm: ss.000. Je voudrais tracer le graphique dans une plage de temps, disons de 08:05:00 à 09:00:00. Comment fait-on ça? J'ai cherché sur le web et je n'ai pas trouvé de moyen de régler correctement le xlim.Comment tracer une plage de données avec l'heure au format hh: mm: ss.000 dans R?

Voici un court exemple de données. La colonne 1 est l'heure, la colonne 2, 3, 4 .. sera sur l'axe y. 07: 51: 19.553,10.785,0.000,0.392,1.512,1.527,1.553,1.560,2.838

08: 05: 00,661, -1.555,0.000,0.041,0.310,0.314,0.321,0.327,1.474

08: 06: 58.250,30.781,0.000,0.093,0.156,0.160,0.168,0.173,1.411

08: 30: 02,506, -0.002,0.000,0.052,0.120,0.123,0.132,0.137,1.361

09: 05: 00,997, -1.802,0.000,0.032,0.078,0.080,0.087,0.090,1.258

10: 05: 00,661, -1.555,0.000,0.041,0.310,0.314,0.32 1,0325,1,474

Merci d'avance pour votre aide.

Répondre

3

Vous vraiment voulez utiliser une classe de séries temporelles consistantes telles que zoo ou xts

Jeu partiel, traçage, ... puis viennent gratuitement. Commencez par l'excellente documentation zoo avant de passer à xts pour des performances et des sous-ensembles encore meilleurs. Maintenant, un million de lignes est trop nombreux car vous finissez avec plus de données que de pixels - mais au moins cela vous donnera une chance de résumer vos données.

Voici une illustration rapide:

> options(digits.sec=3)  ## important: turn on milli-sec via print() 
> library(xts) 
Loading required package: zoo 
> X <- xts(cumsum(rnorm(100)), order.by=Sys.time()+cumsum(runif(100)/10)) 
> plot(X) 
+0

Merci pour votre réponse. Ours avec moi. Je suis un nouveau dans R. > library (xts) Erreur dans la bibliothèque (xts): il n'y a pas de paquet appelé 'xts' Ai-je besoin d'autre chose? J'ai R version 2.11.1 (2010-05-31) – Ching

+0

Ah, oui: Faites 'install.packages (c (" zoo "," xts "))' et sélectionnez un miroir proche. –

+0

Il semble que j'ai du mal à accéder à l'index pour le référentiel. Je ne sais pas si mon entreprise bloque l'accès ou non. Peut-être que je vais essayer à la maison. Merci. – Ching

1

Pour changer vecteur de caractère à "date & temps" objet, objet POSIXlt (ct), la fonction strptime() viendra à portée de main. Voici un petit exemple de comment c'est fait.

dtm <- strptime(c("1.1.2010 11:35"), format = "%d.%m.%Y %H:%M", tz = "CET") 
+0

Je n'ai aucun problème à afficher la chaîne en hh: mm: ss.000. Le problème est sur la plage de temps limite dans le tracé – Ching