¿Es posible agrupar por dos columnas? Entonces, ¿el producto cruzado es elaborado por geom_point()
y geom_smooth()
?
Como ejemplo:
frame <- data.frame(
series <- rep(c('a', 'b'), 6),
sample <- rep(c('glass','water', 'metal'), 4),
data <- c(1:12))
ggplot(frame, aes()) # ...
De tal manera que los puntos 6
y 12
comparten un grupo, pero no con 3
.
data.frame
con el propósito de una trama. Elplot
debe trazar su df y no lo contrario.paste
es que cuando el input es un factor, descarta los niveles, dondeinteraction
conserva el orden de los factores originales. Esto significa que los grupos están más naturalmente ordenados coninteraction
enfoque.Tomando el ejemplo de esta pregunta , usando
interaction
para combinar dos columnas en un nuevo factor:# 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, group=interaction(treatment, replicate))) + geom_point() + geom_line()
fuente
ggplot(df) + geom_violin(aes(class1, metric.var, group = interaction(class1, class2)), position = position_dodge(width=.5))
por ejemplo:
qplot(round, price, data=firm, group=id, color=id, geom='line') + geom_smooth(aes(group=interaction(size, type)))
fuente