несколько группирующих 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. Это возможно?
спасибо
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)
используя @ Didzis изменил данные, здесь версия решетки:
barchart(value~variable|Type,
groups=Annee,data=df.long,layout=c(3,3),
between=list(3,3),
axis=axis.grid,
auto.key=TRUE)