[BioC] LIMMA - No residual degrees of freedom in linear model fits

Gordon K Smyth smyth at wehi.EDU.AU
Sat May 21 13:23:09 CEST 2005


Dear Ankit,

These error messages from eBayes() are to tell you that your data is degenerate in various ways. 
The "no residual degrees of freedom" message occurs because you have filtered out so many spots
(by setting the weight to 0) that you have no more than one spot left for any of the probes. 
Hence there is no replication left in your experiment.  No estimate of variability can be made and
no statistical analysis can be done.

If I was in this position, I would be asking myself whether it really makes a lot of sense to
throw most of my data out before I even begin the analysis.  Try typing

 summary(MA$weights>0)

to see how many spots you are filtering out.

Gordon

> Date: Fri, 20 May 2005 11:21:38 +0100
> From: "michael watson \(IAH-C\)" <michael.watson at bbsrc.ac.uk>
> Subject: RE: [BioC] LIMMA - No residual degrees of freedom in linear
> 	model fits
> To: "Ankit Pal" <pal_ankit2000 at yahoo.com>
> Cc: bioconductor at stat.math.ethz.ch
>
> Content-Type: text/plain;	charset="us-ascii"
>
> Well the computational aspect of it is simple.
>
> The limma code states:
>
> df.residual <- fit$df.residual
> ...
> if (all(df.residual == 0))
>         stop("No residual degrees of freedom in linear model fits")
>
> In your example, fit_NODS7 is the "fit" above.
>
> So it looks like the error is thrown because:
>
> fit_NODS7$df.residual
>
> Is basically a long vector of zeros ie you have no residual degrees of
> freedom.
>
> I have to admit I haven't got a clue why this might occur.
>
> Did you get your gene list problems sorted out from a few days ago?
>
> Mick
>
> -----Original Message-----
> From: Ankit Pal [mailto:pal_ankit2000 at yahoo.com]
> Sent: 20 May 2005 10:36
> To: michael watson (IAH-C)
> Cc: bioconductor at stat.math.ethz.ch
> Subject: RE: [BioC] LIMMA - No residual degrees of freedom in linear
> model fits
>
>
> Hi Mick,
> Thank you for replying.
> I am using 2 arrays. I have a total set of 4 arrays
> with 2 dye swaps, I have done an analysis with all the
> 4 design=c(1,-1,1,-1) and would like to see what the
> result is without the dye swaps.
> I need to decide if we have to use the dye swaps
> atall.
> I'm looking for genes with a p value < 0.05 after the
> moderated t statistic.
> I'm not comparing the arrays.
> Why so you say 2 arrays is the problem?
> How many replicate arrays do you suggest I use to get
> reliable results?
>
>
>>From a previous mail I sent titled "LIMMA- Warning
> message after eBayes function",
> I got an error for a 2 array alanysis.
>
>> fit_NODS7 <- eBayes(fit_NODS7)
>
> Warning message:
> Estimation of var.prior failed - set to default value
> in: ebayes(fit = fit, proportion = proportion,
> stdev.coef.lim = stdev.coef.lim)
>
> Is it because of the number of arrays.
>
> Why did the same steps work for other datasets
> containing 2 arrays?
>
> Awaiting your reply,
>
> -Ankit
> --- "michael watson (IAH-C)"
> <michael.watson at bbsrc.ac.uk> wrote:
>> Hi Ankit
>>
>> What is the design of your experiment?  How many
>> arrays do you have and
>> what are you trying to find out?  From the
>> "design=c(1,1)" bit of your
>> code, it looks like you only have two arrays...
>> Which may be the
>> problem!  Are you trying to compare one array to the
>> other?
>>
>> Mick
>>
>> -----Original Message-----
>> From: bioconductor-bounces at stat.math.ethz.ch
>> [mailto:bioconductor-bounces at stat.math.ethz.ch] On
>> Behalf Of Ankit Pal
>> Sent: 20 May 2005 09:42
>> To: bioconductor at stat.math.ethz.ch
>> Subject: [BioC] LIMMA - No residual degrees of
>> freedom in linear model
>> fits
>>
>>
>> Dear Group,
>> On trying to use the eBayes function, I got the
>> following error.
>>
>> The steps are
>> >fit_NODS7 <- lmFit(MA_NODS7, design=c(1,1))
>> > fit_NODS7 <- eBayes(fit_NODS7)
>> Error in ebayes(fit = fit, proportion = proportion, stdev.coef.lim =
>> stdev.coef.lim) :
>>         No residual degrees of freedom in linear
>> model
>> fits
>>
>> I understand that the residual degrees of freedom is calculated by
>> lmFit(). So why the error?
>> I tried looking up the bioconductor archives, but
>> couldn't find any reply that could help solve my
>> problem.
>> I used the same steps to analyse other datasets
>> without any problem.
>> I am using the R package version 2.0.1 on a windows
>> platform.
>> Hoping for a reply,
>> Thank you,
>> -Ankit



More information about the Bioconductor mailing list