try this using sqldf: > a id name hobby 1 1 Tom fishing 2 1 Tom reading 3 2 Mary reading 4 3 John boating 5 2 Mary running > require(sqldf) > sqldf('select name, group_concat(hobby) hobby from a group by id', > method='raw') name hobby 1 Tom fishing,reading 2 Mary reading,running 3 John boating
On Thu, Oct 7, 2010 at 11:52 AM, Tan, Richard <r...@panagora.com> wrote: > Hi, R function aggregate can only take summary stats functions, can I > aggregate text columns? For example, for the dataframe below, > > > >> a <- rbind(data.frame(id=1, name='Tom', > hobby='fishing'),data.frame(id=1, name='Tom', > hobby='reading'),data.frame(id=2, name='Mary', > hobby='reading'),data.frame(id=3, name='John', > hobby='boating'),data.frame(id=2, name='Mary', hobby='running')) > >> a > > id name hobby > > 1 1 Tom fishing > > 2 1 Tom reading > > 3 2 Mary reading > > 4 3 John boating > > 5 2 Mary running > > > > > > I want output as > >>b > > id name hobbies > > 1 Tom fishing reading > > 2 Mary reading running > > 3 John boating > > > > > > > > Thanks, > > Richard > > > > > [[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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.