Czy można grupować według dwóch kolumn? Czyli iloczyn krzyżowy jest rysowany przez geom_point()
i geom_smooth()
?
Jako przykład:
frame <- data.frame(
series <- rep(c('a', 'b'), 6),
sample <- rep(c('glass','water', 'metal'), 4),
data <- c(1:12))
ggplot(frame, aes()) # ...
Taki, że wskazuje 6
i 12
dzieli grupę, ale nie z 3
.
data.frame
na potrzeby fabuły.plot
Należy wykreślić swoje df, a nie odwrotnie.paste
jest to, że kiedy wejście jest czynnikiem, odrzuca poziomy, gdzieinteraction
zachowuje kolejność pierwotnych czynników. Oznacza to, że grupy są bardziej naturalnie uporządkowane winteraction
podejściu.Biorąc przykład z tego pytania , używając
interaction
do połączenia dwóch kolumn w nowy czynnik:# 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()
źródło
ggplot(df) + geom_violin(aes(class1, metric.var, group = interaction(class1, class2)), position = position_dodge(width=.5))
na przykład:
qplot(round, price, data=firm, group=id, color=id, geom='line') + geom_smooth(aes(group=interaction(size, type)))
źródło