Another approach, using aggregate(), presuming that the data is in a data frame called 'DF':
> with(DF, aggregate(Var3, list(Var1 = Var1, Var2 = Var2), table)) Var1 Var2 x.D x.I 1 S1 T1 2 2 2 S2 T1 2 2 3 S1 T2 2 2 4 S2 T2 0 4 HTH, Marc Schwartz On May 19, 2011, at 1:10 PM, Phil Spector wrote: > Luma - > If I understand you correctly, I think the easiest way > to get what you want is to use the reshape function on > the output from aggregate: > >> reshape(Count.Cells,idvar=c('Var1','Var2'),timevar='Var3',direction='wide') > Var1 Var2 dummy.D dummy.I > 1 S1 T1 2 2 > 2 S2 T1 2 2 > 3 S1 T2 2 2 > 7 S2 T2 NA 4 > > - Phil Spector > Statistical Computing Facility > Department of Statistics > UC Berkeley > spec...@stat.berkeley.edu > > > > On Thu, 19 May 2011, Luma R wrote: > >> Dear all, >> >> I am having trouble creating summary tables using aggregate function. >> >> given the following table: >> >> >> Var1 Var2 Var3 dummy >> S1 T1 I 1 >> S1 T1 I 1 >> S1 T1 D 1 >> S1 T1 D 1 >> S1 T2 I 1 >> S1 T2 I 1 >> S1 T2 D 1 >> S1 T2 D 1 >> S2 T1 I 1 >> S2 T1 I 1 >> S2 T1 D 1 >> S2 T1 D 1 >> S2 T2 I 1 >> S2 T2 I 1 >> S2 T2 I 1 >> S2 T2 I 1 >> >> >> I want to create a summary table that shows for each category of Var1, >> Var2, the number of cells that are Var3=D and Var3-I : >> >> Var1 Var2 Var3(D) Var3(I) >> S1 T1 2 2 >> S1 T2 2 2 >> S2 T1 2 2 >> S2 T2 0 4 >> >> >> >> However, if I do: Count.Cells= aggregate(dummy~ Var1+Var2+Var3, FUN='sum') >> , I get: >> >> Var1 Var2 Var3 Count of Resp >> S1 T1 D 2 >> S1 T1 I 2 >> S1 T2 D 2 >> S1 T2 I 2 >> S2 T1 D 2 >> S2 T1 I 2 >> S2 T2 I 4 >> >> >> Is there a way to get different columns for each Var3 level? >> >> >> Thank you for any help you can give! ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.