From p.dalgaard at biostat.ku.dk  Tue Jan 18 13:57:56 2005
From: p.dalgaard at biostat.ku.dk (Peter Dalgaard)
Date: Tue Jan 18 14:00:58 2005
Subject: [Rd] p.adjust(<NA>s), was "Re: [BioC] limma and p-values"
In-Reply-To: <16876.63674.863573.832622@stat.math.ethz.ch>
References: <6.2.0.14.1.20050116182326.02194240@imaphost.wehi.edu.au>
	<16876.10223.980563.620698@stat.math.ethz.ch>
	<16876.63674.863573.832622@stat.math.ethz.ch>
Message-ID: <x2y8eq51yj.fsf@biostat.ku.dk>

Martin Maechler <maechler@stat.math.ethz.ch> writes:

>     MM> I agree that I don't see a good reason to allow specifying 'n'
>     MM> as argument unless e.g. for "bonferroni".
>     MM> What do other think ?
> 
> no reaction yet.
> 
> I've thought a bit more in the mean time:
> Assume someone has 100000 P values and knows that he
> only want to adjust the smallest ones.
> Then, only passing the ones to adjust and setting 'n = 100000'
> can be useful and will certainly work for "bonferroni" but
> I think it can't work in general for any other method.
> 
> In sum, I still tend to agree that the argument 'n' should be
> dropped -- but maybe with "deprecation" -- i.e. still allow it
> for 2.1.x giving a deprecation warning.

There's another case to consider, namely when you get the same tests
multiple times. Think SAS, for instance; when it compares groups you
get every comparison twice: I vs III as well as III vs I, so you need
a way to say that there are really only k * (k - 1) / 2 tests. Then
again, this probably only works for "bonferroni", and R's
pairwise.t.test() evades this by extracting the lower.tri before
adjustment.

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)             FAX: (+45) 35327907


[Rd] p.adjust(<NA>s), was "Re: [BioC] limma and p-values"
Peter Dalgaard