Apakah mungkin untuk dikelompokkan menjadi dua kolom? Jadi produk silang digambar oleh geom_point()
dan geom_smooth()
?
Sebagai contoh:
frame <- data.frame(
series <- rep(c('a', 'b'), 6),
sample <- rep(c('glass','water', 'metal'), 4),
data <- c(1:12))
ggplot(frame, aes()) # ...
Sehingga poin 6
dan 12
berbagi grup, tetapi tidak dengan 3
.
data.frame
untuk tujuan plot. Ituplot
harus memplot df Anda dan bukan sebaliknya.paste
adalah bahwa ketika input adalah sebuah faktor, ia membuang level-levelnya, yanginteraction
mempertahankan urutan faktor aslinya. Ini berarti bahwa kelompok-kelompok tersebut lebih teratur denganinteraction
pendekatan.Mengambil contoh dari pertanyaan ini , menggunakan
interaction
untuk menggabungkan dua kolom menjadi faktor baru:# 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()
sumber
ggplot(df) + geom_violin(aes(class1, metric.var, group = interaction(class1, class2)), position = position_dodge(width=.5))
sebagai contoh:
qplot(round, price, data=firm, group=id, color=id, geom='line') + geom_smooth(aes(group=interaction(size, type)))
sumber