I have a barplot using the ggplot2 library:
plot <- qplot(Date, data=cns,
geom=\"bar\", binwidth = 1,
fill=Type, facets = N
You can make new column in your data frame that contains mean value. I named it as y.int and calculated using function ddply() from library plyr. Here mean value calculated only for the values where Type is Completed (as Requested should be excluded).
library(plyr)
cns<-ddply(cns,.(Name),transform,y.int=mean(Days[Type=="Completed"]))
Now use geom_hline() and new column to add lines to each facet.
plot + geom_hline(aes(yintercept=y.int))
A variant on Didzis's answer, I would make a separate data frame for the summary data that you want to display per facet.
library("plyr")
cns.annotate <- ddply(cns, .(Name), summarize, y.int=mean(Days[Type=="Completed"]))
then pass this data frame to geom_hline.
qplot(Date, data=cns,
geom="bar", binwidth = 1,
fill=Type, facets = Name ~ .) +
geom_hline(data=cns.annotate, aes(yintercept=y.int))
or in ggplot rather than qplot syntax:
ggplot(cns, aes(x=Date)) +
geom_bar(aes(fill=Type), binwidth=1) +
geom_hline(data=cns.annotate, aes(yintercept=y.int)) +
facet_grid(Name ~ .)