Dear list,
I'm puzzled by the R function p.adjust with NA values
in the first argument. The adjustment gives different
result with and without the NAs. The question then is,
which approach should one take: with or without NAs in
the first argument?
Thanks a lot!
Wenbin
>Wenbin Liu wnbnl at yahoo.com
>Wed Mar 23 23:51:28 CET 2005
>
>Dear list,
>
>I'm puzzled by the R function p.adjust with NA values
>in the first argument. The adjustment gives different
>result with and without the NAs.
Please refer to the extensive recent discussion on this topic on the
R-devel mailing list.
> The question then is,
>which approach should one take: with or without NAs in
>the first argument?
The limma package functions remove NAs before using p.adjust(), and I
believe this is virtually always correct in the microarray context.
Gordon
>Thanks a lot!
>
>Wenbin
One thing to add on this point that might be of interest is that an
initial look at p.adjust
p.adjust(p, method = p.adjust.methods, n = length(p))
would suggest that including NAs would result in more conservative
correction as n > # of p-values, but it doesn't (at least for fdr) as
the NAs are ordered below the minimum p-value from your vector in the
calculation. So if you fdr correct with the NAs present then you get
more significant p-values than you should and the results are
meaningless - and there's no error message.
Obviously, the nice work by the developers will correct this.
>>Wenbin Liu wnbnl at yahoo.com
>>Wed Mar 23 23:51:28 CET 2005
>>
>>Dear list,
>>
>>I'm puzzled by the R function p.adjust with NA values
>>in the first argument. The adjustment gives different
>>result with and without the NAs.
>
>Please refer to the extensive recent discussion on this topic on the
>R-devel mailing list.
>
>> The question then is,
>>which approach should one take: with or without NAs in
>>the first argument?
>
>The limma package functions remove NAs before using p.adjust(), and I
>believe this is virtually always correct in the microarray context.
>
>Gordon
>
>>Thanks a lot!
>>
>>Wenbin
Thanks Matthew and Gordon for your comments.
Wenbin
--- Matthew Hannah <hannah@mpimp-golm.mpg.de> wrote:
> One thing to add on this point that might be of
> interest is that an
> initial look at p.adjust
> p.adjust(p, method = p.adjust.methods, n =
> length(p))
> would suggest that including NAs would result in
> more conservative
> correction as n > # of p-values, but it doesn't (at
> least for fdr) as
> the NAs are ordered below the minimum p-value from
> your vector in the
> calculation. So if you fdr correct with the NAs
> present then you get
> more significant p-values than you should and the
> results are
> meaningless - and there's no error message.
>
> Obviously, the nice work by the developers will
> correct this.
>
> >>Wenbin Liu wnbnl at yahoo.com
> >>Wed Mar 23 23:51:28 CET 2005
> >>
> >>Dear list,
> >>
> >>I'm puzzled by the R function p.adjust with NA
> values
> >>in the first argument. The adjustment gives
> different
> >>result with and without the NAs.
> >
> >Please refer to the extensive recent discussion on
> this topic on the
> >R-devel mailing list.
> >
> >> The question then is,
> >>which approach should one take: with or without
> NAs in
> >>the first argument?
> >
> >The limma package functions remove NAs before using
> p.adjust(), and I
> >believe this is virtually always correct in the
> microarray context.
> >
> >Gordon
> >
> >>Thanks a lot!
> >>
> >>Wenbin
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor@stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
>