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 <sjkiss@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]]

