2011-12-28 5 views
0

Ma trame de données df contient les colonnes suivantes: jeton (un facteur), date (un POSIXct), un nombre (un entier).Séries temporelles superposées avec R

> head(df,3) 
    token  date    count 
1 foo 10/1/2011 12:00:00 AM  6 
2 bar 10/12/2011 12:00:00 AM 24 
3 baz 10/14/2011 12:00:00 AM  4 

Je sais comment tracer une série temporelle pour un facteur 'foo', par ex. qplot(date, count, data=df[df$token == "foo",], geom="line");. Mais comment puis-je tracer la série chronologique de tous les facteurs dans le même graphique, chaque ligne de facteur avec une couleur différente.

Comment tracer les comptages quotidiens des valeurs dans les colonnes de jetons (par exemple, foo, bar, baz) et les dates? Fondamentalement, compte sur l'axe des y et les dates sur l'axe des x.

+0

Doit-il être dans ggplot - le réseau est-il autorisé? –

+0

Je ne connaissais pas le treillis. Ça serait bien. – amh

+0

Pourriez-vous joindre une sorte d'image de résultat (peut-être à la main ou en utilisant un éditeur graphique)? Je ne connais pas les autres, mais pour moi ce n'est pas clair ce que vous voulez accomplir. –

Répondre

2

Il s'agit d'une question difficile à répondre sans un exemple reproductible, mais quelque chose comme qplot(date,count,data=df,group=token) peut fonctionner.

+0

'by'? «facettes» peut-être? Ou peut-être que l'OP veut 'groupe', les garder tous sur le même panneau? – joran

+0

@joran: Bon appel, je voulais dire «groupe» pas «par». – Zach

+0

Il serait logique d'avoir un panneau pour chaque niveau de jeton, cependant. –

3

J'ai un data.frame qui ressemble à ceci (je reshape::melt pour obtenir des données de large au format long):

> head(big) 
      Taxa variable value sites 
1  Coleoptera 15.4.-30.4. 92 Low 
2  Orthoptera 15.4.-30.4.  2 Low 
3  Heteroptera 15.4.-30.4. NA Low 
4  Homoptera 15.4.-30.4. NA Low 
5 Auchenorrhyncha 15.4.-30.4. NA Low 
6  Neuroptera 15.4.-30.4. NA Low 

Et je le code ggplot2 ci-dessous pour créer cette image enter image description here

ggplot(big, aes(x = droplevels(Taxa), fill = sites, y = value)) + 
     geom_bar(position = "dodge") + 
     facet_wrap(~ variable) + 
     scale_x_discrete(name = "Taksoni") + 
     scale_y_continuous(name = "Abundanca") + 
     scale_fill_discrete(name = "Vzorčna \n mesta") + 
     opts(axis.text.x = theme_text(angle = 90)) 
Questions connexes