[R] Histograms by two factors

John Fox jfox at mcmaster.ca
Fri Feb 6 14:43:17 CET 2004

Dear Meredith,

At 10:08 AM 2/6/2004 +1100, Briggs, Meredith M wrote:

>I am trying to print out means, STDs and histograms under two sets of 
>factors. I can manage it for one set - see below but not for two  sets. 
>That is, I want ot print out the mean STD and Histogram for each ITEM code 
>within each DELIVERABLE code.

You can use commands such as tapply(y, list(deliv=Df1, item=Df2), mean).

>  In addition I can only get to view the histogram for the last item. How 
> do you get R to stop overriding the histogram for eg  level 1 for factor 
> 1 by level 2 of factor 1?

If you set par(ask=TRUE) after opening the graphics device, then you will 
be prompted to press the enter key before each plot. Alternatively, you 
could do something like

par(mfrow=c(nlevels(Df1), nlevels(Df2))
tapply(y, list(Df1, Df2), function(y) hist(y, main=""))

to get an array of histograms (though the labelling leaves something to be 

I hope this helps,

>Indat <- read.table ("C:/testdata.txt",header=T)
>B <- c(Indat[,1],Indat[,2],Indat[,3],Indat[,4],Indat[,5])
>y <- Indat[,5]/Indat[,4]
>DELIV <- Indat[,1]
>ITEM <- Indat[,3]
>Df1 <- factor(DELIV)
>Df2 <- factor(ITEM)
>d1 <- tapply(y,Df1, mean)
>d2 <- tapply(y, Df1,sd)
>d3 <- tapply(y, Df1,max)
>d4 <- tapply(y, Df1,hist)
>R-help at stat.math.ethz.ch mailing list
>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

John Fox
Department of Sociology
McMaster University
Hamilton, Ontario, Canada L8S 4M4
email: jfox at mcmaster.ca
phone: 905-525-9140x23604
web: www.socsci.mcmaster.ca/jfox

More information about the R-help mailing list