transformation of data.frame
Hi Assa Yeroslaviz <frymor at gmail.com> napsal dne 09.07.2010 13:25:43:
Hello Petr, sorry for the mixed up. your example works perfectly fine. The one from S?ren has shown the mentioned error. But even after
reading the
columns as character
go <- read.table("go.txt", header= TRUE, colClasses = c("character",
"character"))
or
go <- read.table("go.txt", header= TRUE, as.is = 1)
it didn't solve the problem.
the command:
gmt <- lapplyBy(~GO, data = go, FUN = function(uu) {as.list(uu$GO[1],
paste(uu
$gen, collapse = " "))}) tries to convert my first column into integers and thand add 'NA's. What I don't understand is why. Does lapplyBy can work only with integers?
I do not use doBy library so I cannot give you definite explanation. I do
not believe that lapplyBy works with integers only. It says that it is a
formula version of lapply.
This is what you did
gmt <- lapplyBy(~GO, data = go, FUN = function(uu) {as.list(uu$GO[1],
paste(uu$gen, collapse = " "))})
and this is what S?ren advised
aa<-lapplyBy(~ID, data=ddd, FUN=function(uu){list(uu$ID[1], paste(uu$gen,
collapse=":"))})
so maybe
gmt <- lapplyBy(~GO, data = go, FUN = function(uu) {list(uu$GO[1],
paste(uu$gen, collapse = " "))})
Gives you desired result.
Regards
Petr
THX, Assa
2010/7/8 Petr PIKAL <petr.pikal at precheza.cz> Hi r-help-bounces at r-project.org napsal dne 08.07.2010 12:02:45:
I don't understand it. When I'm doing this example it wirks fine, but
when
I'm adding the "GO:" to the beginning of the first column (as to see
in
my
wanted result table: GO0042787 GO0016070 GO0016070 I'm getting a list of warning: Warning messages: 1: In storage.mode(xi) <- a$sm : NAs introduced by coercion 2: In storage.mode(xi) <- a$sm : NAs introduced by coercion ... 9: In storage.mode(xi) <- a$sm : NAs introduced by coercion 10: In storage.mode(xi) <- a$sm : NAs introduced by coercion
Not sure what is wrong, it seems to me that your ID become factor.
Having your data in dataframe test as character columns
see ?str
test.ag<-aggregate(test$X.gen, list(test$ID), function(x) paste(x,
collapse=":"))
I can make aggregated data frame
paste("GO",test.ag[,1], sep="")
[1] "GO0006417" "GO0006511" "GO0007409" "GO0016070" "GO0042787"
and it is strightforward to add GO at the beginning.
I leave how to add this result to your aggregated data frame as an
exercise.
Regards
Petr
What did I do wrong here? Assa On Thu, Jul 8, 2010 at 11:09, S??ren H??jsgaard
<Soren.Hojsgaard at agrsci.dk>wrote:
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.
[[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.