[R] Plot grouped histograms
Jim Lemon
jim at bitwrit.com.au
Fri Oct 10 14:26:22 CEST 2008
soeren.vogel at eawag.ch wrote:
> r11 -- r16 are variables showing a reason for usage of a product in 6
> different situations. Each variable is a factor with 4 levels imported
> from a SPSS sav file with labels ranging from "not important" to "very
> important", and NA's for a sample of N = 276.
>
> (1) I need a chi square test of independence showing that the reason
> does not differ depending on the situation.
>
> (2) I need a single coloured histogram plot. The x axis should be
> grouped by the 6 situation with small space between the groups, each
> group should show different bars for each factor value ("not
> important", "little...", ..., "NA's"), but NA's is not necessary.
>
> I've been googling the whole day, searching the mailing list and
> handbooks, and struggled through the somewhat R programmer specific
> documentation. Beeing a newby in R, I'm now afraid that I have to go
> back to SPSS and Excel where my tasks would be a work of an hour. But
> I was told "euphoric" that R may solve many of the problems I have
> (and don't like) with SPSS, or having to separate calculation (SPSS,
> Excel by hand) and plotting (GNUplot).
>
> So my two questions are: How can I easily solve my 2 tasks? Secondly,
> is R really recommended for R newbys in daily work?
Hi Soeren,
For number 1:
chisq.test(svfreqs) #see below
but I don't think that this is the best way to test this.
For number 2:
faclevels<-c("Not","Little","Somewhat","Very")
svdf<-data.frame(r11=sample(faclevels,276,TRUE),
r12=sample(faclevels,276,TRUE),
r13=sample(faclevels,276,TRUE),
r14=sample(faclevels,276,TRUE),
r15=sample(faclevels,276,TRUE),
r16=sample(faclevels,276,TRUE))
library(prettyR)
svfreqs<-t(matrix(unlist(sapply(svdf,freq,display.na=FALSE)),nrow=6,byrow=TRUE))
library(plotrix)
barp(svfreqs,main="Frequencies of importance ratings",ylim=c(0,100),
names.arg=paste("r1",1:6,sep=""),col=2:5,xlab="Situation",
ylab="Frequency")
legend(2.3,98,c("Not","Little","Somewhat","Very"),fill=2:5)
Jim
More information about the R-help
mailing list