One way, using the plyr package would be: library(plyr) dcast(base, p ~ q)
John Kane Kingston ON Canada > -----Original Message----- > From: ce.kay...@yahoo.fr > Sent: Sat, 1 Dec 2012 04:37:02 -0800 (PST) > To: r-help@r-project.org > Subject: [R] How to built a pivot table of value > > Hi R users > > Imagine the table "base": > p=c("d","d","b","b","a","a") > q=c("v1","v2","v1","v2","v1","v2") > r=c(5,2,4,8,9,7) > base=data.frame(p,q,r) > base > > p q r > 1 d v1 5 > 2 d v2 2 > 3 b v1 4 > 4 b v2 8 > 5 a v1 9 > 6 a v2 7 > > How programming R to get this result: > > v1 v2 > a 9 7 > b 4 8 > d 5 2 > > I tried the function table but the result is divided in several matrix: > table(base$p,base$q,base$r) > , , = 2 > > > v1 v2 > a 0 0 > b 0 0 > d 0 1 > > , , = 4 > > > v1 v2 > a 0 0 > b 1 0 > d 0 0 > > , , = 5 > > > v1 v2 > a 0 0 > b 0 0 > d 1 0 > > , , = 7 > > > v1 v2 > a 0 1 > b 0 0 > d 0 0 > > , , = 8 > > > v1 v2 > a 0 0 > b 0 1 > d 0 0 > > , , = 9 > > > v1 v2 > a 1 0 > b 0 0 > d 0 0 > > SIncerely yours > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/How-to-built-a-pivot-table-of-value-tp4651539.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. ____________________________________________________________ GET FREE SMILEYS FOR YOUR IM & EMAIL - Learn more at http://www.inbox.com/smileys Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™ and most webmails ______________________________________________ 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.