[R] manipulating the result of by()
stecalza at tiscali.it
Fri Jul 26 11:41:26 CEST 2002
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)
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?
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
More information about the R-help