2016-07-06 29 views
2

Ich habe zwei Datenrahmen entfernen:wie Panel Titel und fügen Sie Punkte auf Gitterstück

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) 

Ich möchte ein xyplot mit DF1 erstellen, die von ID gruppiert, aber ohne jede ID Beschriftung. Dann fügen Sie verweist auf die bestehenden xyplot mit Punkten von DF2

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

schätzen würde Vorschläge, wie nicht jede ID zu beschriften (Panel Titel entfernen), dann fügen Sie df2 als Punkte auf dem vorhandenen Grundstück

+0

Dank Psidom für die Formatierung – user2783615

+0

Könnte hilfreich sein. http://stackoverflow.com/questions/15803149/how-to-add-points-to-multi-panel-lattice-graphics-bwplot – Psidom

+0

df2 ist eine Teilmenge von DF1, mit den gleichen Werten. df2-Werte überlagern df1-Werte. Ist das was du willst? – DaveTurek

Antwort

2

Set strip=FALSE zu unterdrücken die "Paneltitel". Dann, nach darauf achten, um sicherzustellen, die ID Faktorstufen in den beide data.frames zusammenpassen, könnten Sie latticeExtra::as.layer() verwenden, um Daten aus der zweiten data.frame zum Plotten auf das Grundstück der ersten konstruiert mit:

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

Vielen Dank Josh! Funktioniert wunderbar! – user2783615

+0

@ user2783615 Cool. Freut mich zu hören, dass geholfen hat! –