Simon, I think this is what you are looking for.
###Random Data crime <- sample(c('agree' ,'disagree'), replace=TRUE, size=100) guns <- sample(c('agree','disagree'), replace=TRUE, size=100) climate <- sample(c('agree', 'disagree'), replace=TRUE, size=100) gender <- sample(c('male','both' ,'female'), replace=TRUE, size=100) age <- sample(c('old', 'neither', 'young'), replace=TRUE, size=100) dat <- as.data.frame(cbind(crime, guns, climate, gender, age)) rm(crime, guns, climate, gender, age) opinion <- rbind( data.frame(table(dat[,4], dat[,1]), topic="crime", category="gender"), data.frame(table(dat[,4], dat[,2]), topic="guns", category="gender"), data.frame(table(dat[,4], dat[,3]), topic="climate", category="gender"), data.frame(table(dat[,5], dat[,1]), topic="crime", category="age"), data.frame(table(dat[,5], dat[,2]), topic="guns", category="age"), data.frame(table(dat[,5], dat[,3]), topic="climate", category="age") ) library(lattice) barchart(Freq ~ Var1 | topic + category, groups=Var2, data=opinion, stack=TRUE, layout=c(3,2), scales=list(x=list(relation="free"))) Rich On Thu, Jan 31, 2013 at 10:42 AM, Simon Kiss <sjk...@gmail.com> wrote: > Hello: I need to create a six barplots from data that looks pretty close > to what appears below. There are two grouping variables (age and gender) > and three dependent variables for each grouping variables. I'm not really > familiar with trellis graphics, perhaps there is something that can do what > I need there, i don't know. > The thing is: I *need* these to appear on one row, with some way of > differentiating between the three barplots of one grouping variable and the > three from the other grouping variable. It's for a grant application and > space is at a premium. The width of everything can be about 7 inches wide > and the height maybe 2 to 2.5 inches. I also need an outer margin to place > a legend. I can do this with the following using the layout command, but I > cannot figure out a nice way to differentiate the two groups of variables. > I'd like to find a way to put a little bit of space between the three from > one grouping variable and the three from another grouping variable. > > If anyone has any thoughts, I'd be very grateful. Yours truly, Simon J. > Kiss > > ###Random Data > crime<-sample(c('agree' ,'disagree'), replace=TRUE, size=100) > guns<-sample(c('agree','disagree'), replace=TRUE, size=100) > climate<-sample(c('agree', 'disagree'), replace=TRUE, size=100) > gender<-sample(c('male','both' ,'female'), replace=TRUE, size=100) > age<-sample(c('old', 'neither', 'young'), replace=TRUE, size=100) > dat<-as.data.frame(cbind(crime, guns, climate, gender, age)) > ###Code I'm working with now > layout(matrix(c(1,2,3,4,5,6), c(1,6))) > barplot(prop.table(table(dat$guns, dat$gender), 2)) > barplot(prop.table(table(dat$crime, dat$gender), 2)) > barplot(prop.table(table(dat$climate, dat$gender), 2)) > barplot(prop.table(table(dat$guns, dat$gender), 2)) > barplot(prop.table(table(dat$crime, dat$age), 2)) > barplot(prop.table(table(dat$climate, dat$age), 2)) > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.