`geom_line ()` conecta puntos mapeados a diferentes grupos
me gustaríagroup
Mis datos se basan en la interacción de dos variables, pero solo asignan una estética a una de esas variables. (La otra variable representa réplicas que, en teoría, deberían ser equivalentes entre sí). Puedo encontrar formas poco elegantes de hacer esto, pero parece que debería haber una forma más elegante de hacerlo.
Por ejemplo
# 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()
Esto casi lo hace bien, excepto que no quiero representar los puntos con diferentes formas. Parece quegroup=interaction(treatment, replicate)
ayudaría (por ejemplo, basado enesta pregunta, perogeom_line()
Todavía conecta puntos en diferentes grupos:
ggplot(d, aes(x=x, y=y, colour=treatment, group=interaction("treatment", "replicate"))) +
geom_point() + geom_line()
Puedo resolver el problema creando manualmente una columna de interacción ygroup
por eso
d$interact <- interaction(d$replicate, d$treatment)
ggplot(d, aes(x=x, y=y, colour=treatment, group=interact)) +
geom_point() + geom_line()
Pero parece que debería haber una másggplot2
-nativa forma de conseguirgeom_line
Sólo para conectar puntos del mismo grupo.