Добавьте новые точки данных на ggplot, которые сгруппированы по факторам и снова по факторам

У меня есть два кадра R-данных, которые были созданы путем изменения исходного набора данных. Один из фреймов данных имеет значения для разных «Обработка» для разных «Месяцев». Другой фрейм данных имеет «средства» для каждой подкатегории.

> head(gatheredDiameterAndTreatmentData)
  Treatment                Month Diameter
1  Aux_Drop Diameter(inches).Sep      2.2
2 Aux_Spray Diameter(inches).Sep      2.5
3      DMSO Diameter(inches).Sep      2.6
4     Water Diameter(inches).Sep      1.7
5  Aux_Drop Diameter(inches).Sep      1.5
6 Aux_Spray Diameter(inches).Sep        3

> head(subMeans)
  Treatment                Month Diameter
1  Aux_Drop Diameter(inches).Dec 3.292857
2 Aux_Spray Diameter(inches).Dec 2.515385
3      DMSO Diameter(inches).Dec 4.145455
4     Water Diameter(inches).Dec 4.383333
5  Aux_Drop Diameter(inches).Mar 4.600000
6 Aux_Spray Diameter(inches).Mar 4.587500


Я использовал код:

gatheredDiameterAndTreatmentData  %>%
  subset(Diameter != "NA") %>%
  ggplot(aes(x = factor(Treatment), y = Diameter)) + 
  geom_point(aes(colour = Month), na.rm = TRUE, position = position_dodge(width = 0.2)) + 

сделать такой сюжет:enter image description here

Теперь я также хочу добавить вспомогательные средства для каждой группы. Но мои графики (для подсредств каждой категории) становятся очень разными, когда я использовал этот код:

gatheredDiameterAndTreatmentData  %>%
  subset(Diameter != "NA") %>%
  ggplot(aes(x = factor(Treatment), y = Diameter)) + 
  geom_point(aes(colour = Month), na.rm = TRUE, position = position_dodge(width = 0.2)) + 
  geom_point(data = subMeans, size = 4)

enter image description here

Почему средние значения такие низкие? Я не думаю, что здесь проблема с масштабированием.

Кроме того, я хочу провести линию, чтобы соединить средние значения для разных групп лечения за разные месяцы?

У меня есть файлы (кадры данных, преобразованные в текстовый файл), которыми вы поделились через Dropbox: https://www.dropbox.com/sh/968nfxd5aisizc5/AACsdybRv-QgigGTmMS_7fc9a?dl=0

Можете ли вы опубликовать воспроизводимый пример ваших данных с dput?

divibisan 13.09.2018 19:28

Я только что прикрепил текстовый файл (преобразованный фрейм данных с использованием read.table). Надеюсь, это поможет.

everestial007 13.09.2018 19:39

Я поделился фактическими данными через dropbox: dropbox.com/sh/968nfxd5aisizc5/AACsdybRv-QgigGTmMS_7fc9a?dl=‌ 0

everestial007 13.09.2018 19:42

Интересно, связано ли это с тем, что использование двух разных слоев geom_point приводит к странным вещам с масштабом. Вы пробовали объединить два фрейма данных вместе и использовать команду gather (), чтобы поместить все измерения в «длинное» представление и просто построить его?

Adam 13.09.2018 20:24

Я пробовал использовать этот код на примере, в котором использовались два набора данных, но с одинаковыми заголовками столбцов. Изначально у меня были широкие данные, которые были преобразованы в два набора с помощью gather( ...). Я думаю, проблема в масштабировании, но я не вижу двух значений y-axis. Кроме того, все другие примеры, которые я прочитал, действительно работают с одним и тем же методом / кодом. Это странно, почему я пришел по-другому?

everestial007 13.09.2018 20:31

Я не могу получить доступ к Dropbox, но делать это с iris выглядит нормально. irismean <- aggregate(iris[, 1:4], list(Species = iris$Species), mean) / n iris %>% ggplot(aes(x = factor(Species), y = Sepal.Length)) + geom_point(aes(color = Species)) + geom_point(data = irismean, size = 4)

Anonymous coward 13.09.2018 20:34

Я просто пытался получить доступ к данным в другом браузере в режиме инкогнито. Данные доступны.

everestial007 13.09.2018 20:40

Может что-то вроде: ggplot(gatheredDiameterAndTreatmentData, aes(aes(x = factor(Treatment), y = Diameter)) + geom_point(alpha = .4) + geom_point(data = gatheredDiameterAndTreatmentData , size = 4)

Adam 13.09.2018 20:40

Он работает с данными радужной оболочки глаза. Полностью. Но я не могу найти подход к моему набору данных.

everestial007 13.09.2018 20:41

Я думаю, связано ли это с тем, что мои данные (ось x) категоричны ??

everestial007 13.09.2018 20:43

Кто-нибудь знает, почему это происходит?

everestial007 13.09.2018 23:24

Единственная проблема с моими данными заключалась в том, что значения "диаметра" были символами для subMeans. Я думал, что ggplot справится с этим хорошо, но не сделал этого и преобразовал subMeans - Diameter как факторизованное целое число. Хотя «Диаметр» для gathered... также был «характером», это не имело значения. Таким образом, это имело значение для данных, которые были добавлены позже.

everestial007 14.09.2018 00:50

Я преобразовал subMeans$Diameter в as.double(...), и он работал нормально. Такая мелкая проблема, которая зря потратила мои часы.

everestial007 14.09.2018 00:51
0
13
48
0

Другие вопросы по теме