Построение двустороннего дисперсионного анализа с короткой зависимой переменной

моя проблема проста и сложна в то же время, я хотел бы сделать график коробчатых диаграмм точно как первый из этого поста http://www.r-bloggers.com/let%E2%80%99s-all-go-down-to-the-barplot/ Проблема в том, что переменная моей оси Y имеет только 4 точки. Ящики покрывают большую часть области, и не видно, имеет ли место более высокая частота появления 1-й точки или 4-й точки и т. д. Я бы не хотел преобразовывать переменную оси Y, поскольку она имеет смысл. Я думал о графике плотности, есть ли у кого-нибудь идея, как построить что-то подобное? заранее спасибо

--- РЕДАКТИРОВАТЬ ---

Прошу прощения за недостаточно конкретную информацию, мои данные представляют собой переменные факториального двухфакторного дисперсионного анализа, где переменная результата имеет слишком мало точек, чтобы ее можно было успешно отобразить с помощью ящичковой диаграммы или чего-то подобного http://rgm3.lab.nig.ac.jp/RGM-files//work/granova/granova.1w/granova.1w_001_large.png

В моей модели «4-балльная шкала» = фактор1 + фактор2 + фактор1*фактор2 + e Я хотел бы сначала построить график фактор1 x фактор2, где точки будут показывать количество наблюдений по 4-балльной шкале. Чтобы показать вам, что я имею в виду, я построил график, factor1 объединяет уровни factor2, а по оси y мы можем видеть уровни 4-балльной шкалы/непрерывной переменной. Следуя вашему совету, я попытался воспроизвести данные esoph и построил vioplot.

library(ggplot2)
str(esoph)
p11 <- ggplot(esoph, aes(factor(tobgp), ncontrols))
p11 + geom_violin(aes(fill=factor(agegp)))

В моих данных из-за небольшого количества точек на оси Y графики vioplots выглядят почти одинаково (даже если модель значима, включая взаимодействие), в отличие от графика, созданного кодом выше (мне нужно подмножество ncontrols на меньшее количество точек, но я не знаю, как...). Можно ли производить круги или пузыри, размер которых укажет на количество наблюдений? Не приходит ли на ум другое решение?


person Pulse    schedule 30.06.2013    source источник
comment
это интересно, но не вопрос программирования. Я бы предложил перейти на stats.stackexchange.com . Я бы сказал, что ваши данные не подходят для блочной диаграммы: я бы, вероятно, использовал beanplot или beeswarm plot (ищите их в Google или SO), в зависимости от размера вашего набора данных. (Хорошо, это может быть истолковано как проблема программирования, если вы скажете... и, пожалуйста, покажите мне код для этого...)   -  person Ben Bolker    schedule 01.07.2013
comment
Было бы очень полезно, если бы вы создали небольшой воспроизводимый пример, например пример набора данных, который у вас есть. Вы также можете скопировать изображение с размещенного вами веб-сайта (в дополнение к ссылке), чтобы, если ссылка когда-либо сломается, у нас все еще было изображение.   -  person nograpes    schedule 01.07.2013
comment
Так является ли ось Y категоричной? Или у вас всего четыре наблюдения на группу? В любом случае, похоже, что коробочная диаграмма - это не то, что вам нужно - отображение точек, вероятно, имело бы больше смысла. Без примера ваших данных трудно сказать наверняка   -  person alexwhan    schedule 01.07.2013


Ответы (1)


Целью блочных диаграмм является обобщение данных, чтобы их было легче интерпретировать. У вас есть 4 точки данных для каждого условия. Просто постройте все точки. На самом деле, даже если вы проигнорируете это предложение и в конечном итоге сделаете блок-диаграмму, наложите все точки на блок-диаграмме серым цветом с прозрачностью.

Если вы хотите расширить ось Y, вы можете передать аргумент ylim вызову boxplot.

person John    schedule 01.07.2013