[BioC] Converting annotate lists to a matrix
    Wolfgang Huber 
    huber at ebi.ac.uk
       
    Thu Feb 10 13:47:02 CET 2005
    
    
  
Hi Michael,
try this:
res = do.call("rbind", args=lapply(seq(along=xx), function(i)
                  cbind(names(xx)[i], xx[[i]])))
 > res[1:5,]
      [,1]        [,2]
[1,] "Z22536_at" "04010"
[2,] "Z22536_at" "04060"
[3,] "Z22536_at" "04350"
[4,] "X60221_at" "00190"
[5,] "X60221_at" "00193"
Michael watson (IAH-C) wrote:
> Hi
> 
> This is kind of an R problem, but on bioconductor data.  For example, I
> have the hu6800PATH environment from the hu6800 annotation package.  The
> example in the help is this:
> 
> xx <- as.list(hu6800PATH)
> xx <- xx[!is.na(xx)]
> 
> What I actually want is a matrix with two columns, the first being probe
> id and the second being pathway id - I'm going to do some relational
> joins with this data using merge().
> 
> I've got as far as:
> 
> as.matrix(unlist(xx))
> 
> But that doesn't give me exactly what I want.  The rownames of the
> resulting matrix are set to the probe_ids but where there are duplicate
> probe ids (where probes are in >1 pathway) then R appends a numerator on
> the end.
> 
> Can anyone help me convert the list format from an annotation package to
> a matrix as I describe above?
-- 
Best regards
   Wolfgang
-------------------------------------
Wolfgang Huber
European Bioinformatics Institute
European Molecular Biology Laboratory
Cambridge CB10 1SD
England
Phone: +44 1223 494642
Fax:   +44 1223 494486
Http:  www.ebi.ac.uk/huber
    
    
More information about the Bioconductor
mailing list