# your data, from dump("xxx", file=stdout()) xxx <- structure(list(Registered = c(1327, 2129, 10, 433, 5, 166, 1784, 17, 787), GA_Total = c(127, 150, 0, 32, 1, 76, 153, 7, 31), PCT = c("1120", "1121", "1121", "1122", "1124", "1125", "1125", "1125", "1126" )), .Names = c("Registered", "GA_Total", "PCT"), class = "data.frame", row.names = c(NA, -9L)) axxx <- aggregate(. ~ PCT, data=xxx, FUN=sum) axxx # PCT Registered GA_Total #1 1120 1327 127 #2 1121 2139 150 #3 1122 433 32 #4 1124 5 1 #5 1125 1967 236 #6 1126 787 31 # or aggregate(xxx[, c("Registered", "GA_Total")], by=xxx[,"PCT",drop=FALSE], sum) # PCT Registered GA_Total #1 1120 1327 127 #2 1121 2139 150 #3 1122 433 32 #4 1124 5 1 #5 1125 1967 236 #6 1126 787 31
Use subscripting to rearrange the columns: axxx2 <- axxx[, c(2,3,1)]. Many people find the functions in the dplyr package easier to use. E.g., library(dplyr) group_by(xxx, PCT) %>% summarize(Registered=sum(Registered), GA_Total=sum(GA_Total)) #Source: local data frame [6 x 3] # # PCT Registered GA_Total #1 1120 1327 127 #2 1121 2139 150 #3 1122 433 32 #4 1124 5 1 #5 1125 1967 236 #6 1126 787 31 Bill Dunlap TIBCO Software wdunlap tibco.com On Wed, Aug 5, 2015 at 10:45 AM, Jim Burke <javajimbu...@gmail.com> wrote: > Greetings R mavens (and that's YOU). Given the following how on earth do I > aggregate and sum duplicate PCT rows into one combined row per PCT? > > Data types > > str(xxx) > 'data.frame': 9 obs. of 3 variables: > $ Registered: int 1327 2129 10 433 5 166 1784 17 787 700 > $ GA_Total : int 127 150 0 32 1 76 153 7 31 23 > $ PCT : chr "1120" "1121" "1121" "1122" ... > > Data desired to be summarized > Registered GA_Total PCT > 1327 127 1120 > 2129 150 1121 > 10 0 1121 > 433 32 1122 > 5 1 1124 > 166 76 1125 > 1784 153 1125 > 17 7 1125 > 787 31 1126 > > Desired summary > Registered GA_Total PCT > 1327 127 1120 > 2139 150 1121 > 433 32 1122 > 5 1 1124 > 1967 236 1125 > 787 31 1126 > > When answered this please make the reply suitable as a tutorial for many > other puzzled "R" "aggregate" people. Scarce useful examples on the > web. "Aggregate" > is a basic for statistical programming. Yet even ISBN 978-1461471370 An > Introduction to Statistical Learning with "R" does not appear to delve into > "aggerate". Basic simple and useful fully explained answers. If you have to > use "apply" then explain why. > > Thanks > Jim Burke > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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 -- To UNSUBSCRIBE and more, see 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.