# [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
desired).

I hope this helps,
John

>thanks
>
>
>
>
>X11()
>
>
>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)
>
>print(d1)
>print(d4)
>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://www.stat.math.ethz.ch/mailman/listinfo/r-help

-----------------------------------------------------
John Fox
Department of Sociology
McMaster University