2017-04-20 5 views
0

Ich versuche, zwei verschiedene Linien basierend auf Übung = 0 oder Übung = 1 für jede Facette (nach Geschlecht) zu erstellen. Der erste Code ist ohne facet_wrap und die zwei Zeilen, die auf dem Geschlecht basieren, sind unterschiedlich. Der zweite Code ist mit facet_wrap und die zwei Zeilen scheinen die gleiche Zeile zu sein. Wie kann ich den Code so ändern, dass die beiden Zeilen innerhalb jeder Facette unterschiedlich sind?Wie erstellt man zwei verschiedene Regressionsgeraden basierend auf dem Faktor für jede Facette? R, ggplot2

ggplot(cdc, aes(weight,wtdesire, color = exercise, group = 
interaction(gender,exercise))) + geom_point(alpha = 1/5) + 
geom_smooth(method = lm, aes(linetype=exercise)) 

produziert: facet

Allerdings, wenn ich die beiden Zeilen hinzufügen facet_wrap für jede Facette scheinen die gleichen zu sein.

ggplot(cdc, aes(weight,wtdesire, color = exercise, group = 
interaction(gender,exercise))) + geom_point(alpha = 1/5) + 
geom_smooth(method = lm, aes(linetype=exercise)) + facet_wrap(~gender) 

produziert: second

+0

Sie wahrscheinlich nur 'group = Übung' in der zweiten Plot verwenden müssen. – lbusett

+0

@LoBu Ich habe das auch versucht, aber es hat nichts verändert ... –

Antwort

0

@LoBu Lösung korrekt ist. Hier ist ein Beispiel mtcars Daten:

ggplot(mtcars, aes(hp, mpg, group=interaction(vs, am))) + 
     geom_point(alpha = 0.2) + 
     geom_smooth(method = lm, aes(linetype=as.factor(vs))) 

enter image description here

ggplot(mtcars, aes(hp, mpg, group=vs)) + 
     geom_point(alpha = 0.5) + 
     geom_smooth(method = lm, aes(linetype=as.factor(vs))) + 
     facet_wrap(~am) 

enter image description here

+0

Danke! Ich habe einen Fehler gemacht, indem ich anstelle der kontinuierlichen Variablen nach einem Faktor gruppiere. –

Verwandte Themen