Hi. I have the following problem. I use by() to compute a table of observed and expected counts of a variable (eg sobjects who belong to a smoking category) within combination of 4 factors (age class, education, sex, region) for a total 4*3*2*5 tables. I get a list of length 120 and dim 4. Noww I want to sum the tables within the level of one of the grouping variables, eg age class. How can I do? Here is an example: ttt <- by(data,list=c(age,sex,region,edu),FUN=function(x) { tto <- table(x$smoke[x$grp=="study1"]) so <- sum(tto) tte <- prop.table(table(x$smoke[x$grp=="study2"]))*so ttt <- rbind(tto,tte) ttt } Think of age as a factor with 4 levels (age category). Now a want to sum each table (observed=tto and expected=tte separately) within each age category. I should end with 4 table with 2 rows (obs & exp) and 3 columns (the smoke levels). Any hint? TIA, Stefano -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._