(This article was first published on Stats raving mad » R, and kindly contributed to R-bloggers)
Instead of the factor() function which usually applies after defining a vector there’s the gl() base function to do this in one step, eg
freq <- c(204,6,1,211,13,5,357,44,38,92,34,49) row <- gl(4,3,length=12) col <- gl(3,1,length=12) > col [1] 1 2 3 1 2 3 1 2 3 1 2 3 Levels: 1 2 3 tt <- data.frame(freq,row,col) > xtabs(tt) col row 1 2 3 1 204 6 1 2 211 13 5 3 357 44 38 4 92 34 49
To leave a comment for the author, please follow the link and comment on his blog: Stats raving mad » R.
R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series,ecdf, trading) and more...

Zero Inflated Models and Generalized Linear Mixed Models with R.
Zuur, Saveliev, Ieno (2012).