2016-07-06 3 views
2

J'ai deux trames de données:comment retirer le titre du panneau et ajouter des points sur terrain treillis

df1 <- read.table(text = " 
Time Score ID 
-83  19 C1 
-69  17 C2 
-55  15 C3 
-28  22 C4 
    0  27 C5", header=TRUE) 

df2 <- read.table(text = " 
Time Score ID 
-83  19 C1 
-55  15 C3 
    0  27 C5", header=TRUE) 

Je veux créer un xyplot avec DF1, regroupés par ID, mais sans l'étiquetage de chaque ID. Puis ajouter des points à l'xyplot existant avec des points de DF2

library(lattice) 
xyplot(df1$Score ~ df1$Time | df1$ID, type ="b", cex = .5) 

apprécierait des suggestions sur la façon de ne pas étiqueter chaque ID (retirer le titre du panneau) puis ajouter DF2 comme points au tracé existant

+0

Merci Psidom pour le formatage – user2783615

+0

Peut-être utile. http://stackoverflow.com/questions/15803149/how-to-add-points-to-multi-panel-lattice-graphics-bwplot – Psidom

+0

df2 est un sous-ensemble de df1, avec les mêmes valeurs. Les valeurs df2 vont surcharger les valeurs df1. c'est ce que tu veux? – DaveTurek

Répondre

2

Set strip=FALSE pour supprimer les «titres de panneaux». Puis, après avoir pris soin de nous assurer que les dans les deux data.frames niveaux de facteur ID correspondent, vous pouvez utiliser latticeExtra::as.layer() pour tracer des données à partir du second data.frame sur le terrain construit en utilisant la première:

library(latticeExtra) 

## Fiddly bit needed to make sure, e.g., that level `C3` is coded 
## using the same number (here a '3') in both ID columns. 
df2$ID <- factor(df2$ID, levels = levels(df1$ID)) 

## Plot data from both data.frames onto the same plot 
xyplot(Score ~ Time | ID, data = df1, type ="b", cex = .5, strip = FALSE) + 
as.layer(xyplot(Score ~ Time | ID, data = df2, type ="b", 
       cex = 5, drop.unused.levels = FALSE)) 

enter image description here

+0

Merci beaucoup Josh! Fonctionne magnifiquement! – user2783615

+0

@ utilisateur2783615 Cool. Content d'entendre cela m'a aidé! –