Entering edit mode
Misha Kapushesky
▴
130
@misha-kapushesky-1334
Last seen 10.3 years ago
Dear List,
I looked through the archives and didn't notice anyone pointing this
out,
so I thought I'd ask:
If decideTests() is called with the method argument set to
hierarchical
(by the way, that word is misspelled in the implementation as
'heirarchical' - if someone should call it with correct spelling, they
get
an error), then internally classifyTestsP() is called to adjust across
contrasts (after adjusting across genes). So far so good (exc the
spelling).
However, it seems the multiple adjustment method is not propagated to
classifyTestsP - so if the user requests adjust.method="BH",
classifyTestsP will perform the default adjustment, "holm", which is
more
conservative. Is that behavior by design? Or is there just a
"method=adjust.method" missing on the classifyTestsP() call?
Also one could do fewer computations in the code, perhaps, if one did
something like
padj = p.adjust(object$F.p.value, method=adjust.method)
sel = padj < 0.05
pmax=min(padj[!sel], na.rm=TRUE)
results=classifyTestsP(object[sel,], p.value=pmax,
method=adjust.method)
for the hierarchical and nestedF branches of decideTests() - this
avoids
computing i, n, and a there. Or are these computed there for a reason,
again?
Thanks,
--Misha K.