R ggplot boxplot групповые графики путем объединения факторов - PullRequest
0 голосов
/ 09 июля 2020

У меня есть результаты по качеству воды (металлы), которые берутся в июне и декабре каждого года. Мой текущий df имеет месяц, год, обнаружение. Я хотел бы сгруппировать по каждому тесту, ie июнь 2019, декабрь 2019 и июнь 2020. Я мог бы создать новый фактор, скажем, Test со значениями 0619, 1219, 0620. Также я мог бы создать новый фактор из (Месяц Год) для каждого значения. До этого мне было интересно, может ли geom_boxplot объединить множитель месяца и года с выполнением sh построения трех уникальных тестов. Группировка по году или месяцу не даст мне трех уникальных тестов.

Я ищу решение синтаксиса вызова до нового факторного маршрута.

ggplot(data = Agm, aes(x = Month+Year, y = Level) , na.rm=TRUE) + 
 ggtitle("Lead Levels",subtitle=subtext )+
 xlab("Test") + ylab("ppb") +
 geom_boxplot( fill="red",width = 0.8) + theme_bw()

1 Ответ

1 голос
/ 09 июля 2020

Если я правильно понимаю, вы хотите отобразить коробчатую диаграмму с использованием двух столбцов факторов (месяц и год).

Есть несколько способов sh этого. Во-первых, вы можете просто вставить свои столбцы вместе в вызове ggplot, например:

ggplot(data = Agm, aes(x = paste(Year, Month), y = Level)) + 
 geom_boxplot() + theme_bw()

В этой ситуации я обычно создаю новый столбец и использую его в качестве переменной для оси X. Это даст вам больше гибкости в управлении значениями и их отображением. Например:

library(tidyverse)

# Create a new Date column, combining year and month, separated by a -
Agm <- Agm %>% mutate(Date = paste(Year, Month, sep = "-") %>% arrange(Date)

ggplot(data = Agm, aes(x = Date, y = Level)) + 
 geom_boxplot() + theme_bw()

Обратите внимание: при использовании любого из описанных выше методов я бы посоветовал вам присоединиться сначала по году, а затем по месяцу, как я это сделал, чтобы данные не упорядочивались неправильно. на вашем участке. Если вы сначала укажете месяц, то сначала / слева будет отображаться январь для всех лет, а затем февраль или октябрь, в зависимости от того, есть ли у вас ведущие нули или нет.

...