[R] aggregate text column by a few rows
Phil Spector
spector at stat.berkeley.edu
Thu Oct 7 19:22:32 CEST 2010
Richard -
Yes, you certainly can use aggregate to acheive what you want:
> aggregate(a$hobby,a['name'],paste,collapse=' ')
name x
1 Tom fishing reading
2 Mary reading running
3 John boating
- Phil Spector
Statistical Computing Facility
Department of Statistics
UC Berkeley
spector at stat.berkeley.edu
On Thu, 7 Oct 2010, Tan, Richard 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 at 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.
>
More information about the R-help
mailing list