[Rd] qt() returns Inf with certain negative ncp values
Stephen Berman
@tephen@berm@n @end|ng |rom gmx@net
Tue Jun 14 11:18:06 CEST 2022
I asked about the following observations on r-help and it was suggested
that they may indicate an algorithmic problem with qt(), so I thought I
should report them here.
The Inf results below seem surprising:
> sapply(-1:-10, \(ncp) qt(1-1*(10^(-4+ncp)), 35, ncp))
[1] 3.6527153 3.0627759 2.4158355 1.7380812 1.0506904 0.3700821
[7] Inf -0.9279783 -1.5341759 -2.1085213
> sapply(seq(-6.9, -7.9, -0.1), \(ncp) qt(1-1*(10^(-4+ncp)), 35, ncp))
[1] -0.2268386 Inf Inf Inf -0.4857400 -0.5497784
[7] -0.6135402 -0.6770143 -0.7401974 -0.8030853 -0.8656810
These inputs also yield many repetitions of the following warning
message:
In qt(1 - 1 * (10^(-4 + ncp)), 35, ncp) :
full precision may not have been achieved in 'pnt{final}'
In particular, in the range -1:-10 I don't get this warning with ncp =
-1 through -4, but I do get it once with each of -5 and -8 through -10,
32 times with -6, and 50 times with -7. In the range -6.9:-7.9 I get
the warning twice with each of -6.9 and -7.3 through -7.7, once with
-7.8 and -7.9, and 50 times with each of -7.0 through -7.2.
In case it matters:
> sessionInfo()
R Under development (unstable) (2022-06-05 r82452)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux From Scratch r11.0-165
Matrix products: default
BLAS: /usr/lib/R/lib/libRblas.so
LAPACK: /usr/lib/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.3.0 tools_4.3.0
Thanks.
Steve Berman
More information about the R-devel
mailing list