On Wed, 2006-04-19 at 09:21 -0400, Owen, Jason wrote: > Hello, > > Suppose I simulate 20 observations from the Poisson distribution > with lambda = 4. I can summarize these values using table() and > then feed that to barplot() for a graph. > > Problem: if there are empty categories (e.g. 0) or empty categories > within the range of the data (e.g. observations for 6, 7, 9), barplot() > does not include the empty cells in the x-axis of the plot. Is there > any way to specify table() to have specific categories (in the above > example, probably 0:12) so that zeroes are included? > > Thanks, > > Jason
One thought comes to mind, which is based upon table()'s internal behavior, where it interprets the vectors passed as a factor, for the purpose of the [cross-]tabulation. Thus: > x <- rpois(20, 4) > x [1] 4 4 3 8 2 4 5 2 3 2 4 5 5 5 6 4 5 8 2 5 > table(x) x 2 3 4 5 6 8 4 2 5 6 1 2 # Add the desired factor levels > table(factor(x, levels = 0:12)) 0 1 2 3 4 5 6 7 8 9 10 11 12 0 0 4 2 5 6 1 0 2 0 0 0 0 For the barplot: barplot(table(factor(x, levels = 0:12))) HTH, Marc Schwartz ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
