[R] transformation of data.frame
Søren Højsgaard
Soren.Hojsgaard at agrsci.dk
Thu Jul 8 11:09:49 CEST 2010
Like this?
> library(doBy)
> (ddd <- read.table("foo.txt",header=T))
ID gen
1 42787 gen2
2 16070 gen2
3 16070 gen3
4 7409 Gen1
5 7409 gen3
6 6511 gen2
7 6417 gen3
8 16070 gen4
9 6511 gen4
> aa<-lapplyBy(~ID, data=ddd,
+ FUN=function(uu){
+ list(uu$ID[1], paste(uu$gen, collapse=":"))
+ })
>
> do.call(rbind,aa)
[,1] [,2]
42787 42787 "gen2"
16070 16070 "gen2:gen3:gen4"
7409 7409 "Gen1:gen3"
6511 6511 "gen2:gen4"
6417 6417 "gen3"
Regards
Søren
-----Oprindelig meddelelse-----
Fra: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] På vegne af Assa Yeroslaviz
Sendt: 8. juli 2010 10:45
Til: r-help at stat.math.ethz.ch
Emne: [R] transformation of data.frame
Hello all R users,
I have a problems transforming (or maybe better regrouping) a data.frame.
I have a big data.frame, which I would like to sum up according to a
specific column.
This is an example of my matrix:
ID gen
0042787 gen2
0016070 gen2
0016070 gen3
0007409 Gen1
0007409 gen3
0006511 gen2
0006417 gen3
0016070 gen4
0006511 gen4
I want to rearrange the matrix according to column GO, so that it will look
likes that:
GO:0042787 gen2
GO:0016070 gen2 : gen3 : gen4
GO:0007409 gen1 : gen3
GO:0006511 gen2 : gen4
GO:0006417 gen3
I've tried it with the package doBy (lapplyBy and paste) but it just doesn't
work out.
I will be very happy for any suggestions you might have to help me.
Thanks
Assa
[[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