Ich möchte group
meine Daten basierend auf der Interaktion von zwei Variablen, aber nur eine Ästhetik zu einer dieser Variablen zuordnen. (Die andere Variable stellt Replikate dar, die theoretisch einander äquivalent sein sollten). Ich kann unelegante Wege finden, dies zu tun, aber es scheint, dass es elegantere Wege geben sollte, dies zu tun.`geom_line()` verbindet Punkte zugeordnet zu verschiedenen Gruppen
Zum Beispiel
# Data frame with two continuous variables and two factors
set.seed(0)
x <- rep(1:10, 4)
y <- c(rep(1:10, 2)+rnorm(20)/5, rep(6:15, 2) + rnorm(20)/5)
treatment <- gl(2, 20, 40, labels=letters[1:2])
replicate <- gl(2, 10, 40)
d <- data.frame(x=x, y=y, treatment=treatment, replicate=replicate)
ggplot(d, aes(x=x, y=y, colour=treatment, shape=replicate)) +
geom_point() + geom_line()
Die fast bekommt Recht, außer, dass ich will nicht die Punkte mit unterschiedlichen Formen darzustellen. Es scheint, wie group=interaction(treatment, replicate)
helfen würde (zB basierend auf this question, aber geom_line()
verbindet noch Punkte in verschiedenen Gruppen:
ggplot(d, aes(x=x, y=y, colour=treatment, group=interaction("treatment", "replicate"))) +
geom_point() + geom_line()
ich das Problem, indem Sie manuell eine Interaktion Spalte und group
ing durch das lösen kann:
d$interact <- interaction(d$replicate, d$treatment)
ggplot(d, aes(x=x, y=y, colour=treatment, group=interact)) +
geom_point() + geom_line()
aber es scheint, als ob es eine ggplot2
-native Art und Weise geben sollte, geom_line
zu bekommen, nur Punkte von der gleichen Gruppe zu verbinden.
Warum setzen Sie 'Interaktion (" behandeln "," replizieren ")' im zweiten Beispiel nicht die tatsächlichen Namen der Spalten? Für mich "Gruppe = Interaktion (Behandlung, replizieren)" ergibt erwartetes Ergebnis –
mögliches Duplikat von [Gruppe nach zwei Spalten in ggplot2] (http://stackoverflow.com/questions/9968976/group-by-two-columns-in- ggplot2) –
Der Unterschied ist, dass in der zitierten Frage (die ich ursprünglich verlinken wollte, habe jetzt bearbeitet, um den Link hinzuzufügen) die Antwort _does_ Zitate verwenden - aber es verwendet auch 'qplot'. Ich denke, 'qplot' benötigt die Variablen in Anführungszeichen, während' ggplot' sie direkt übernimmt. –