2015-09-22 2 views
1

J'ai besoin de regarder le changement relatif dans 2 groupes de données qui ont des échelles très différentes. Je pense donc qu'en définissant ma première valeur à 100%, puis en créant une proportion à cette valeur par groupe est la voie à suivre. Je peux ensuite créer un graphique linéaire pour montrer le mouvement relatif.
Je l'appellerais un graphique d'index donc peut avoir manqué des questions existantes.Créer un graphique d'index en R - point de départ relatif

Cependant, je ne sais pas comment configurer mes données dans R pour ce faire.

Mes données agrégées ci-dessous. Je veux que chaque année de 1999 soit de 100 p. 100 et les années suivantes, de 100 p.

> Totals 
    year fips Emissions 
1 1999 06037 6109.6900 
2 2002 06037 7188.6802 
3 2005 06037 7304.1149 
4 2008 06037 6421.0170 
5 1999 24510 403.7700 
6 2002 24510 192.0078 
7 2005 24510 185.4144 
8 2008 24510 138.2402 

Je suis probablement allez vouloir ajouter un graphique à barres derrière elle pour montrer pondération trop que le changement relatif est beaucoup plus dramatique pour les petites données. Des conseils à ce sujet sont appréciés aussi, mais je n'ai pas encore cherché car ce qui précède est le problème principal de l'OMI.

Appréciez votre aide. James

+0

Merci Bergant. C'est réglé. Toutefois, lorsque je crée l'intrigue, mes valeurs x sont automatiquement sélectionnées en 2000 et en hausse de 2 ans. J'ai essayé d'ajuster ceci avec scale_x_continuous (breaks = c (1: 4), labels = c ("1999" etc) mais je n'ai pas d'étiquettes du tout ... Pouvez-vous nous conseiller? –

Répondre

0

Par exemple avec dplyr:

library(dplyr) 
dat <- 
    df1 %>% 
    group_by(fips) %>% 
    mutate(ind = Emissions/first(Emissions)) 

Et en utilisant ggplot2 pour tracer un graphique linéaire:

library(ggplot2) 
    ggplot(dat, aes(x = year, y = ind, color = as.factor(fips))) + 
    geom_line()