[R] How to concatenate a several rows according with a column ?

David Winsemius dwinsemius at comcast.net
Sat Aug 4 10:34:12 CEST 2012


On Aug 3, 2012, at 10:00 AM, tgodoy wrote:

> Hi, I'm a new user or R and I try to concatenate a several rows  
> according
> with the value in a column.
>
> this is my data.frame and I want to concatenate my data.frame  
> according with
> the column "b" and make a new data.frame with the information in the  
> others
> columns.
>
table1 <- <-read.table(text="
         a                    b         c             d
1      E001234      TSA    IP234   like_domain
2      E001234      TSB    IP234   like_domain
3      E001234      TSC    IP234   like_domain
4      E001234      TSD    IP234   like_domain
5      E001235      TSA    IP235   two_domain
6      E001235      TSD    IP235   two_domain
7      E001235      TSS    IP235   two_domain
8      E001236      TSP    IP236   like_domain
9      E001236      TST    IP236   like_domain
10    E001237      TSV    IP237    
simple_domain",header=TRUE,stringsAsFactors=FALSE)

 > aggrdat <- with(table1, aggregate(b, list(a,c,d), FUN=paste,  
sep=",") )
 > names(aggrdat) <- names(table1)[c(2:4,1)]
 > aggrdat
         b     c             d                  a
1 E001234 IP234   like_domain TSA, TSB, TSC, TSD
2 E001236 IP236   like_domain           TSP, TST
3 E001237 IP237 simple_domain                TSV
4 E001235 IP235    two_domain      TSA, TSD, TSS

Swapping the column position is left as an exercise.

-- 
David.
>
> I want my table in this way
>
>> table_new
>         a                    b                                      c
> d
> 1      E001234      TSA, TSB, TSC, TSD    IP234   like_domain
> 2      E001235                TSA, TSD, TSS    IP235   two_domain
> 3      E001236                 TSP, TSP, TST    IP236   like_domain
> 4      E001237                                   TSV    IP237
> simple_domain
>
> How can I do this in R?
>
> Thanks
>
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/How-to-concatenate-a-several-rows-according-with-a-column-tp4639072.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.

David Winsemius, MD
Alameda, CA, USA



More information about the R-help mailing list