Hi terdon,

Very happy to help and know it worked.

Honestly, I do not know exactly where the differences are, but it is not
hard to check the sources and compare both algorithms. When doing this, you
can can see that p.adjust() uses vectorization whereas mt.rawp2adjp() does
not. Perhaps that is the key for the timing differences you observed.

# checking the sources
require(multtest)
mt.rawp2adjp
p.adjust

Best,
Jorge


On Tue, Mar 8, 2011 at 12:33 PM, terdon <> wrote:

> Hi Jorge,
>    first of all THANKS! I just ran you suggestion and got blown away:
>
>  system.time(res <- p.adjust(pv, method = 'fdr'))
>   user  system elapsed
>  55.052   3.100  62.560
>
> I had tried the same thing using mt.rawp2adjp as per my original post, sent
> it to a cluster here on friday afternoon and it was still not finished (AND
> using ~16GB of memory) three days later. wow.
>
> OK, so, great but what is the difference between mt.rawp2adjp and p.adjust?
> Do you know? Is it a simple difference in how the same algorithm is
> implemented? Is there any reason one would be more trustworthy than the
> other?
>
> And again, thanks, wow...
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/Multiple-testing-corrections-on-very-large-vector-tp3341398p3341856.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]

