[BioC] Undesirable behavior of limma MArrayLM?

Gordon K Smyth smyth at wehi.EDU.AU
Mon Jun 30 09:07:34 CEST 2008


Hi Paul,

Thanks for the clarification.  Let me just add that in your examples 
below, you are alway subsetting data.frames, not objects defined in limma. 
So you are invoking subsetting commands defined in the R base package, 
rather than those defined in the limma package.  E.g. fit2$genes[i,j] 
invokes two functions: '$' and '[]' both defined in the base package.  So 
whatever the problem is, it must be affecting your R installation, not 
just Bioconductor.

Hope this helps
All the best
Gordon

On Mon, 30 Jun 2008, Paul Leo wrote:

> Oops my error ... after restarting R I can't reproduce the problem.
>
> Near the memory limit of this windows box I sometimes get some strange
> stuff happening...
>
> My apologies
> Paul
>
>
>
> -----Original Message-----
> From: bioconductor-bounces at stat.math.ethz.ch
> [mailto:bioconductor-bounces at stat.math.ethz.ch] On Behalf Of Paul Leo
> Sent: Monday, June 30, 2008 9:57 AM
> To: Gordon K Smyth; Bioconductor mailing list
> Subject: Re: [BioC] Undesirable behavior of limma MArrayLM?
>
> I guess this is my point: fit2$genes below is a data.frame when I access
> it with a numerical valve , this appears to be interpolated to a
> character.
>
> I don't think of this as being typical behaviour for a data.frame see
> the next line of code for data.frame "results". I access it the same
> way, the index is treated as numeric : I get back nothing because the
> numerical index exceeds the dimension of the data.frame.
>
>> fit2$genes[8961,"ID"]
> [1] "5050440"
>
>> class(fit2$genes)
> [1] "data.frame"
>
>> results[8961,]  # same on any data.frame...
>     ID logFC AveExpr  t P.Value adj.P.Val  B
> NA <NA>    NA      NA NA      NA        NA NA
>
>> dim(results)
> [1] 2927    7
>> class(results)
> [1] "data.frame"
>
>
> Bottom line I think this is undesirable behaviour as these two snips
> line of code should return the SAME result... least to me:
>
> ################# CODE 1######
>>  fit2$genes[8963,"ID"] ## index is treated as character
> [1] "5050440"
> ############################
>
> BUT
>
> ################# CODE 1######
>>  test<-fit2$genes
>> test[8963,"ID"]  ## index is treated as numeric
> [1] "106220736"
> ############################
>
>
>> class(fit2$genes)
> [1] "data.frame"
>> class(test)
> [1] "data.frame"
>
> Not putting it forward as a bug, but I found this to be unexpected
> behavior.
>
>
> Cheers
> Paul
>
>
>> dim(fit2)
> [1] 14260     6



More information about the Bioconductor mailing list