несколько группирующих ggplot бар

Я хотел бы знать, как получить 9 группировок гистограммы (3x3) вместе.

мой CSV:data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")

на 9 участков должна быть группа по "типа" К И.

тогда каждый сгруппированный штрих-график должен иметь частоту по оси y, ось x сгруппирована по 1 pce до 6 pce и подразделяется по годам.

У меня есть следующий пример в Excel (см. image) и хотел бы создать тот же результат на r с ggplot. Это возможно?

спасибо

enter image description here

2 ответов


во-первых, измените формат данных с широкого на длинный.

library(reshape2)
df.long<-melt(df,id.vars=c("ID","Type","Annee"))

далее, как при импорте данных буква X добавляется к именам переменных, начиная с числа, удалите ее с substring().

df.long$variable<-substring(df.long$variable,2)

теперь использовать variable как x,value как y,Annee для заполнения и geom_bar() получить barplot. С facet_wrap() вы можете разделить данные Type.

ggplot(df.long,aes(variable,value,fill=as.factor(Annee)))+
   geom_bar(position="dodge",stat="identity")+
   facet_wrap(~Type,nrow=3)

enter image description here


используя @ Didzis изменил данные, здесь версия решетки:

barchart(value~variable|Type,
         groups=Annee,data=df.long,layout=c(3,3),
         between=list(3,3),
         axis=axis.grid,
         auto.key=TRUE)

enter image description here