Marc Schwartz schrieb: > on 01/26/2009 12:23 PM Dominik Hattrup wrote: > >> Hey everyone, >> >> I am looking for the easiest way to get this table >> >> # Table2 >> Year / 2000 / 2002 / 2004 >> Julia / 3 / 4 / 1 >> Peter / 1 / 2 / 4 >> ... / ... / ... / ... >> >> out of this one? >> >> # Table1 >> name / year / cases >> Julia / 2000 / 1 >> Julia / 2000 / 2 >> Julia / 2002 / 4 >> Peter / 2000 / 1 >> Julia / 2004 / 1 >> Peter / 2004 / 2 >> Peter / 2002 / 2 >> Peter / 2004 / 2 >> ... / ... / ... >> >> Code for table1: >> name <- c('Julia','Julia','Julia','Peter','Julia','Peter','Peter','Peter') >> year <- c(2000,2000,2002,2000,2004,2004,2002,2004) >> cases <- c(1,2,4,1,1,2,2,2) >> table1 <- data.frame(name,year,cases) >> >> Thanks! Dominik >> > > table() generates frequencies from individual values, not from already > tabulated data. > > In this case, you can use xtabs(): > > >> xtabs(cases ~ name + year, data = table1) >> > year > name 2000 2002 2004 > Julia 3 4 1 > Peter 1 2 4 > > > See ?xtabs > > An alternative would be to use tapply(): > > >> with(table1, tapply(cases, list(name = name, year = year), sum)) >> > year > name 2000 2002 2004 > Julia 3 4 1 > Peter 1 2 4 > > > See ?tapply > > HTH, > > Marc Schwartz > > Thank You for the quick answer. Works perfect! Dominik
______________________________________________ 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.