>>>>> Peter Dalgaard 
>>>>>     on Wed, 20 May 2026 15:16:21 +0200 writes:

    >> On 19 May 2026, at 15.25, Kurt Hornik
    >> <[email protected]> wrote:
    >> 
    >>>>>>> Martin Maechler writes:
    >> 
    >>>>>>> Stephanie Evert on Sun, 17 May 2026 09:03:52 +0200
    >>>>>>> writes:
    >> 
    >>>>> I will revise my feature request to "have an
    >>>>> easily-discoverable fast p-value-only calculation" for
    >>>>> those who aren't using the odds ratio or confidence
    >>>>> interval.
    >> 
    >>>> fisher.pval() in the "corpora" package.
    >> 
    >>>> Best, Steph
    >> 
    >>> Thank you Steph;
    >> 
    >>> However, I still agree with Chris that it would be nice
    >>> to have an easy way to basically just get the p-value,
    >>> in a case where neither the ESTIMATE nor the confidence
    >>> interval is needed.
    >> 
    >>> Indeed, I've not unfrequently seen R code snippets
    >> 
    >>> <some>.test(.........)$p.value
    >> 
    >>> also in CRAN package R code and I think base R should
    >>> provide a simple documented way to get only the pvalue
    >>> in cases where the full test costs a factor of 1000
    >>> more, even if is still only microseconds in case of
    >>> small data sets.
    >> 
    >>> My svn commit to the R sources, > 22 years ago (!)
    >> 
    >>> r29551 | maechler | 2004-05-24 21:34 |
    >> 
    >>> did introduce the optional argument 'conf.int = TRUE'
    >>> for the 2x2 case _and_ the NEWS entry (of svn rev 29551)
    >>> has been
    >> 
    >>>> o fisher.test(*, conf.int=FALSE) allows to skip the
    >>>> confidence interval computation
    >> 
    >>> However, Chris is (indirectly) correct -- he did not
    >>> mention the 'conf.int' option -- but in this very large
    >>> case, conf.int=FALSE does not help much, as indeed, the
    >>> unconditionalized
    >> 
    >>> logdc <- dhyper(support, m, n, k, log = TRUE)
    >> 
    >>> is already expensive, and also the computation of the
    >>> sample OR (odds ratio)
    >> 
    >>> ESTIMATE <- mle(x)
    >> 
    >>> is costly.  Indeed, I will add a new argument to
    >>> fisher.test() to allow skipping the expensive parts and
    >>> get the p.value and *still* a valid result of class
    >>> "htest".  For now, this will only be fast when as by
    >>> default the null hypothesis is `or = 1`
    >> 
    >> Perhaps we could simply take `or = NULL` or `or = NA` to
    >> say "do not even estimate the OR"?
    >> 

    > Hm, no. A simple testonly=TRUE would be
    > better. Double-dutying an argument just makes it trickier
    > to explain. And you might actually want to get the p-value
    > for other values of OR.

Indeed,  the default   or = 1  specifies H_0, the null
hypothesis; but one can use  or = 1.1  or 1.5 , 0.5

In my not-yet-committed but finished version of  fisher.test(),
I have used  pval.only (or pvalue.only),
as we have several precedences of logical  <something>.only
function arguments  (and "." there is *not* looking like S3
_and_ is typed faster than say "_")

-M

    > -p

    >> -k

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to