У меня есть два кадра 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)) +
Теперь я также хочу добавить вспомогательные средства для каждой группы. Но мои графики (для подсредств каждой категории) становятся очень разными, когда я использовал этот код:
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)
Почему средние значения такие низкие? Я не думаю, что здесь проблема с масштабированием.
Кроме того, я хочу провести линию, чтобы соединить средние значения для разных групп лечения за разные месяцы?
У меня есть файлы (кадры данных, преобразованные в текстовый файл), которыми вы поделились через Dropbox: https://www.dropbox.com/sh/968nfxd5aisizc5/AACsdybRv-QgigGTmMS_7fc9a?dl=0
Я только что прикрепил текстовый файл (преобразованный фрейм данных с использованием read.table). Надеюсь, это поможет.
Я поделился фактическими данными через dropbox: dropbox.com/sh/968nfxd5aisizc5/AACsdybRv-QgigGTmMS_7fc9a?dl= 0
Интересно, связано ли это с тем, что использование двух разных слоев geom_point приводит к странным вещам с масштабом. Вы пробовали объединить два фрейма данных вместе и использовать команду gather (), чтобы поместить все измерения в «длинное» представление и просто построить его?
Я пробовал использовать этот код на примере, в котором использовались два набора данных, но с одинаковыми заголовками столбцов. Изначально у меня были широкие данные, которые были преобразованы в два набора с помощью gather( ...)
. Я думаю, проблема в масштабировании, но я не вижу двух значений y-axis
. Кроме того, все другие примеры, которые я прочитал, действительно работают с одним и тем же методом / кодом. Это странно, почему я пришел по-другому?
Я не могу получить доступ к 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)
Я просто пытался получить доступ к данным в другом браузере в режиме инкогнито. Данные доступны.
Может что-то вроде: ggplot(gatheredDiameterAndTreatmentData, aes(aes(x = factor(Treatment), y = Diameter)) + geom_point(alpha = .4) + geom_point(data = gatheredDiameterAndTreatmentData , size = 4)
Он работает с данными радужной оболочки глаза. Полностью. Но я не могу найти подход к моему набору данных.
Я думаю, связано ли это с тем, что мои данные (ось x) категоричны ??
Кто-нибудь знает, почему это происходит?
Единственная проблема с моими данными заключалась в том, что значения "диаметра" были символами для subMeans
. Я думал, что ggplot справится с этим хорошо, но не сделал этого и преобразовал subMeans - Diameter
как факторизованное целое число. Хотя «Диаметр» для gathered...
также был «характером», это не имело значения. Таким образом, это имело значение для данных, которые были добавлены позже.
Я преобразовал subMeans$Diameter
в as.double(...)
, и он работал нормально. Такая мелкая проблема, которая зря потратила мои часы.
Можете ли вы опубликовать воспроизводимый пример ваших данных с
dput
?