Как сделать барплот с ggplot2 с 3 группами?

У меня есть такой набор данных:

 "term" "Col_count" "JG_count" "Mix_count"
 "1" "activation of immune response" 79 38 84
 "2" "adaptive immune response" 79 41 80
 "3" "adaptive immune response2" 73 40 74
 "4" "biological adhesion" 158 115 195
 "5" "cell activation" 167 103 193

У меня есть 3 группы (столбцы 2:4) и 1 категория для каждой группы.

Мне нужно сделать барплот с каждой из этих категорий, сгруппировав 3 группы, как на этом рисунке, используя ggplot2:

Кто-нибудь может мне помочь?

1 ответ

Решение

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

## First reshape the data
library(reshape2)
dat <- melt(dat)

## use the interaction between the variables to define the grouping
ggplot(dat, aes(term, value, fill=interaction(variable))) +
  geom_bar(stat='identity', position='dodge') +
  theme_bw() + theme(axis.text.x = element_text(angle=90, hjust=1)) +
  scale_fill_brewer('Variables', palette='Spectral')

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