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


13

Я очень плохо знаком с R и любыми пакетами в 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))чтобы добавить дополнительное пространство между коробками.
ЧЛ

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.