У меня есть данные, которые выглядят примерно так:
id = rep(1:33,3)
year = rep(1:3,33)
group = sample(c(1:3),99, replace=T)
test_result = sample(c(TRUE,FALSE), size=99, replace = T)
df = data.frame(id, year, group, test_result)
df$year = as.factor(year)
df$group = as.factor(group)
Моя цель - представить его так, чтобы я мог видеть, как номер группы и год связаны с test_result.
df %>%
group_by(id,year) %>%
summarize(x=sum(test_result)) %>%
ggplot() +
geom_histogram(aes(fill = year,
x = x),
binwidth = 1,
position='dodge') +
theme_minimal()
получает меня почти до конца. Я хочу добавить в конец что-то вроде facet_wrap(group~.)
, чтобы показать, как они изменяются по группам, но, очевидно, group
не является частью агрегированного фрейма данных.
Прямо сейчас мое лучшее решение - просто показать несколько графиков, таких как
df %>% filter(group==1) # Replace group number here
group_by(id,year) %>%
summarize(x=sum(test_result)) %>%
ggplot() +
geom_histogram(aes(fill = year,
x = x),
binwidth = 1,
position='dodge') +
theme_minimal()
но я бы хотел выяснить, как поместить их всех в одну фигуру, и мне интересно, может быть, способ сделать это - добавить больше логики группировки в ggplot?