Boxplot по відношенню до двох факторів, що використовують ggplot2 в R


13

Я дуже новачок у R та в будь-яких пакунках у Р. Я переглянув документацію ggplot2, але не зміг її знайти. Я хочу поле поле змінної boxthisщодо двох факторів f1і f2. Тобто обидва f1і f2є факторними змінними, і кожне з них приймає два значення і boxthisє суцільною змінною. Я хочу , щоб отримати 4 на притаманна рефлективні , вербальний графі, кожен з яких відповідає одній комбінації з можливих комбінацій , які f1і f2можуть прийняти. Я думаю, використовуючи основну функціональність в R, це можна зробити

> boxplot(boxthis ~ f1 * f2 , data = datasetname) 

Заздалегідь дякую за будь-яку допомогу.


Надайте зразкові дані, щоб отримати точні відповіді.
mpiktas

2
Це питання майже напевно було б краще підходить для stackoverflow.com, оскільки тут мало конкретно статистичних даних.
richiemorrisroe

Відповіді:


23

Я можу придумати два способи досягти цього:

1. Створіть всі комбінації f1і f2за межі ggplot-Функції

library(ggplot2)

df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")), 
                 f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
                 boxthis=rnorm(100))

df$f1f2 <- interaction(df$f1, df$f2)

ggplot(aes(y = boxthis, x = f1f2), data = df) + geom_boxplot()

введіть тут опис зображення

2. використовувати колір / заливку / тощо.

ggplot(aes(y = boxthis, x = f2, fill = f1), data = df) + geom_boxplot()

введіть тут опис зображення


4
(+1) Мені подобається використання interaction(). Зверніть увагу, ми можемо вказати, geom_boxplot(position = position_dodge(width = .9))щоб додати додатковий простір між коробками.
chl

1
Ви також можете використовувати dodgeаргумент у ggplotфункції -ggplot(aes(y = boxthis, x = f2, fill = f1, dodge=f1), data = df) + geom_boxplot()
Maciej

0

Ось ще один спосіб:

ggplot(datasetname) + boxplot(aes(x=as.factor(f1),y=boxthis)) + facet_wrap(~as.factor(f2), nrow=5)

Дає щось на кшталт наступного:

Гранітна коробка сюжету

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.