Thank you all for the help and solutions presented! Luisa On Thu, May 19, 2011 at 9:33 PM, Dennis Murphy <djmu...@gmail.com> wrote:
> Oops, didn't see Marc's reply. His solution is much more compact. For > R 2.11.0 and above, aggregate() now has a formula interface that > usually works nicely: > > aggregate(Var3 ~ Var1 + Var2, data = d, FUN = table) > Var1 Var2 Var3.D Var3.I > 1 S1 T1 2 2 > 2 S2 T1 2 2 > 3 S1 T2 2 2 > 4 S2 T2 0 4 > > Dennis > > On Thu, May 19, 2011 at 12:29 PM, Dennis Murphy <djmu...@gmail.com> wrote: > > Hi: > > > > The dummy column really isn't necessary. Here's another way to get the > > result you want. Let d be the name of your example data frame. > > > > d <- d[, 1:3] > > (dtable <- as.data.frame(ftable(d, row.vars = c(1, 2)))) > > Var1 Var2 Var3 Freq > > 1 S1 T1 D 2 > > 2 S2 T1 D 2 > > 3 S1 T2 D 2 > > 4 S2 T2 D 0 > > 5 S1 T1 I 2 > > 6 S2 T1 I 2 > > 7 S1 T2 I 2 > > 8 S2 T2 I 4 > > > > An alternative to the reshape() function is the reshape2 package, > > which has a function dcast() that allows you to rearrange the data > > frame as you desire. > > > > library(reshape2) > > dcast(dtable, Var1 + Var2 ~ Var3) > > Using Freq as value column: use value_var to override. > > Var1 Var2 D I > > 1 S1 T1 2 2 > > 2 S1 T2 2 2 > > 3 S2 T1 2 2 > > 4 S2 T2 0 4 > > > > > > HTH, > > Dennis > > > > On Thu, May 19, 2011 at 2:13 AM, Luma R <rluma1...@gmail.com> 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! > >> > >> [[alternative HTML version deleted]] > >> > >> ______________________________________________ > >> 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. > >> > > > [[alternative HTML version deleted]] ______________________________________________ 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.