1 2R version 4.1.1 Patched (2021-10-12 r81047) -- "Kick Things" 3Copyright (C) 2021 The R Foundation for Statistical Computing 4Platform: x86_64-pc-linux-gnu (64-bit) 5 6R is free software and comes with ABSOLUTELY NO WARRANTY. 7You are welcome to redistribute it under certain conditions. 8Type 'license()' or 'licence()' for distribution details. 9 10R is a collaborative project with many contributors. 11Type 'contributors()' for more information and 12'citation()' on how to cite R or R packages in publications. 13 14Type 'demo()' for some demos, 'help()' for on-line help, or 15'help.start()' for an HTML browser interface to help. 16Type 'q()' to quit R. 17 18> #### d|ensity 19> #### p|robability (cumulative) 20> #### q|uantile 21> #### r|andom number generation 22> #### 23> #### Functions for ``d/p/q/r'' 24> 25> F <- FALSE 26> T <- TRUE 27> showSys.time <- function(expr, ...) { 28+ ## prepend 'Time' for R CMD Rdiff 29+ st <- system.time(expr, ...) 30+ writeLines(paste("Time", capture.output(print(st)))) 31+ invisible(st) 32+ } 33> 34> options(warn = 2) 35> ## ======== No warnings, unless explicitly asserted via 36> assertWarning <- tools::assertWarning 37> 38> as.nan <- function(x) { x[is.na(x) & !is.nan(x)] <- NaN ; x } 39> ###-- these are identical in ./arith-true.R ["fixme": use source(..)] 40> opt.conformance <- 0 41> Meps <- .Machine $ double.eps 42> xMax <- .Machine $ double.xmax 43> options(rErr.eps = 1e-30) 44> rErr <- function(approx, true, eps = getOption("rErr.eps", 1e-30)) 45+ { 46+ ifelse(Mod(true) >= eps, 47+ 1 - approx / true, # relative error 48+ true - approx) # absolute error (e.g. when true=0) 49+ } 50> ## Numerical equality: Here want "rel.error" almost always: 51> All.eq <- function(x,y) { 52+ all.equal.numeric(x,y, tolerance = 64*.Machine$double.eps, 53+ scale = max(0, mean(abs(x), na.rm=TRUE))) 54+ } 55> if(!interactive()) 56+ set.seed(123) 57> 58> .ptime <- proc.time() 59> 60> ## The prefixes of ALL the PDQ & R functions 61> PDQRinteg <- c("binom", "geom", "hyper", "nbinom", "pois","signrank","wilcox") 62> PDQR <- c(PDQRinteg, "beta", "cauchy", "chisq", "exp", "f", "gamma", 63+ "lnorm", "logis", "norm", "t","unif","weibull") 64> PQonly <- c("tukey") 65> 66> ###--- Discrete Distributions --- Consistency Checks pZZ = cumsum(dZZ) 67> 68> ##for(pre in PDQRinteg) { n <- paste("d",pre,sep=""); cat(n,": "); str(get(n))} 69> 70> ##__ 1. Binomial __ 71> 72> ## Cumulative Binomial '==' Cumulative F : 73> ## Abramowitz & Stegun, p.945-6; 26.5.24 AND 26.5.28 : 74> n0 <- 50; n1 <- 16; n2 <- 20; n3 <- 8 75> for(n in rbinom(n1, size = 2*n0, p = .4)) { 76+ for(p in c(0,1,rbeta(n2, 2,4))) { 77+ for(k in rbinom(n3, size = n, prob = runif(1))) 78+ ## For X ~ Bin(n,p), compute 1 - P[X > k] = P[X <= k] in three ways: 79+ stopifnot(all.equal( pbinom(0:k, size = n, prob = p), 80+ cumsum(dbinom(0:k, size = n, prob = p))), 81+ all.equal(if(k==n || p==0) 1 else 82+ pf((k+1)/(n-k)*(1-p)/p, df1=2*(n-k), df2=2*(k+1)), 83+ sum(dbinom(0:k, size = n, prob = p)))) 84+ } 85+ } 86> 87> ##__ 2. Geometric __ 88> for(pr in seq(1e-10,1,len=15)) # p=0 is not a distribution 89+ stopifnot(All.eq((dg <- dgeom(0:10, pr)), 90+ pr * (1-pr)^(0:10)), 91+ All.eq(cumsum(dg), pgeom(0:10, pr))) 92> 93> 94> ##__ 3. Hypergeometric __ 95> 96> .suppHyper <- function(m,n,k) max(0, k-n) : min(k, m) 97> hyp.mn <- rbind(m = c(10, 15, 999), 98+ n = c( 7, 0, 0)) 99> for(j in 1:ncol(hyp.mn)) { 100+ mn <- hyp.mn[,j]; m <- mn[["m"]] ; n <- mn[["n"]] 101+ cat("m=",m,"; n=",n,":\n") 102+ showSys.time(for(k in 2:m) { 103+ x <- .suppHyper(m,n,k); x <- c(x[1]-1L, x) 104+ stopifnot(All.eq(phyper(x, m, n, k), cumsum(dhyper(x, m, n, k)))) 105+ stopifnot(All.eq(phyper(x, m, n, k, log.p=TRUE), 106+ log(cumsum(dhyper(x, m, n, k))))) 107+ }) 108+ } 109m= 10 ; n= 7 : 110Time user system elapsed 111Time 0.004 0.000 0.004 112m= 15 ; n= 0 : 113Time user system elapsed 114Time 0.001 0.000 0.002 115m= 999 ; n= 0 : 116Time user system elapsed 117Time 0.109 0.000 0.109 118> 119> ##__ 4. Negative Binomial __ 120> 121> ## PR #842 122> for(size in seq(0.8,2, by=.1)) 123+ stopifnot(all.equal(cumsum(dnbinom(0:7, size, .5)), 124+ pnbinom(0:7, size, .5))) 125> stopifnot(All.eq(pnbinom(c(1,3), .9, .5), 126+ c(0.777035760338812, 0.946945347071519))) 127> 128> ##__ 5. Poisson __ 129> 130> stopifnot(dpois(0:5,0) == c(1, rep(0,5)), 131+ dpois(0:5,0, log=TRUE) == c(0, rep(-Inf, 5))) 132> 133> ## Cumulative Poisson '==' Cumulative Chi^2 : 134> ## Abramowitz & Stegun, p.941 : 26.4.21 (26.4.2) 135> n1 <- 20; n2 <- 16 136> for(lambda in rexp(n1)) 137+ for(k in rpois(n2, lambda)) 138+ stopifnot(all.equal(pchisq(2*lambda, 2*(1+ 0:k), lower.tail = FALSE), 139+ pp <- cumsum(dpois(0:k, lambda=lambda)), 140+ tolerance = 100*Meps), 141+ all.equal( pp, ppois(0:k, lambda=lambda), tolerance = 100*Meps), 142+ all.equal(1 - pp, ppois(0:k, lambda=lambda, lower.tail = FALSE))) 143> 144> 145> ##__ 6. SignRank __ 146> for(n in rpois(32, lam=8)) { 147+ x <- -1:(n + 4) 148+ stopifnot(All.eq(psignrank(x, n), cumsum(dsignrank(x, n)))) 149+ } 150> 151> ##__ 7. Wilcoxon (symmetry & cumulative) __ 152> is.sym <- TRUE 153> for(n in rpois(5, lam=6)) 154+ for(m in rpois(15, lam=8)) { 155+ x <- -1:(n*m + 1) 156+ fx <- dwilcox(x, n, m) 157+ Fx <- pwilcox(x, n, m) 158+ is.sym <- is.sym & all(fx == dwilcox(x, m, n)) 159+ stopifnot(All.eq(Fx, cumsum(fx))) 160+ } 161> stopifnot(is.sym) 162> 163> 164> ###-------- Continuous Distributions ---------- 165> 166> ##--- Gamma (incl. central chi^2) Density : 167> x <- round(rgamma(100, shape = 2),2) 168> for(sh in round(rlnorm(30),2)) { 169+ Ga <- gamma(sh) 170+ for(sig in round(rlnorm(30),2)) 171+ stopifnot(all.equal((d1 <- dgamma( x, shape = sh, scale = sig)), 172+ (d2 <- dgamma(x/sig, shape = sh, scale = 1) / sig), 173+ tolerance = 1e-14)## __ad interim__ was 1e-15 174+ , 175+ All.eq(d1, (d3 <- 1/(Ga * sig^sh) * x^(sh-1) * exp(-x/sig))) 176+ ) 177+ } 178> 179> stopifnot(pgamma(1,Inf,scale=Inf) == 0) 180> ## Also pgamma(Inf,Inf) == 1 for which NaN was slightly more appropriate 181> assertWarning(stopifnot( 182+ is.nan(c(pgamma(Inf, 1,scale=Inf), 183+ pgamma(Inf,Inf,scale=Inf))))) 184> scLrg <- c(2,100, 1e300*c(.1, 1,10,100), 1e307, xMax, Inf) 185> stopifnot(pgamma(Inf, 1, scale=xMax) == 1, 186+ pgamma(xMax,1, scale=Inf) == 0, 187+ all.equal(pgamma(1e300, 2, scale= scLrg, log=TRUE), 188+ c(0, 0, -0.000499523968713701, -1.33089326820406, 189+ -5.36470502873211, -9.91015144019122, 190+ -32.9293385491433, -38.707517174609, -Inf), 191+ tolerance = 2e-15) 192+ ) 193> 194> p <- 7e-4; df <- 0.9 195> stopifnot( 196+ abs(1-c(pchisq(qchisq(p, df),df)/p, # was 2.31e-8 for R <= 1.8.1 197+ pchisq(qchisq(1-p, df,lower=FALSE),df,lower=FALSE)/(1-p),# was 1.618e-11 198+ pchisq(qchisq(log(p), df,log=TRUE),df, log=TRUE)/log(p), # was 3.181e-9 199+ pchisq(qchisq(log1p(-p),df,log=T,lower=F),df, log=T,lower=F)/log1p(-p) 200+ )# 32b-i386: (2.2e-16, 0,0, 3.3e-16); Opteron: (2.2e-16, 0,0, 2.2e-15) 201+ ) < 1e-14 202+ ) 203> 204> ##-- non central Chi^2 : 205> xB <- c(2000,1e6,1e50,Inf) 206> for(df in c(0.1, 1, 10)) 207+ for(ncp in c(0, 1, 10, 100)) stopifnot(pchisq(xB, df=df, ncp=ncp) == 1) 208> stopifnot(all.equal(qchisq(0.025,31,ncp=1,lower.tail=FALSE),# inf.loop PR#875 209+ 49.7766246561514, tolerance = 1e-11)) 210> for(df in c(0.1, 0.5, 1.5, 4.7, 10, 20,50,100)) { 211+ xx <- c(10^-(5:1), .9, 1.2, df + c(3,7,20,30,35,38)) 212+ pp <- pchisq(xx, df=df, ncp = 1) #print(pp) 213+ dtol <- 1e-12 *(if(2 < df && df <= 50) 64 else if(df > 50) 20000 else 501) 214+ stopifnot(all.equal(xx, qchisq(pp, df=df, ncp=1), tolerance = dtol)) 215+ } 216> 217> ## p ~= 1 (<==> 1-p ~= 0) -- gave infinite loop in R <= 1.8.1 -- PR#6421 218> psml <- 2^-(10:54) 219> q0 <- qchisq(psml, df=1.2, ncp=10, lower.tail=FALSE) 220> q1 <- qchisq(1-psml, df=1.2, ncp=10) # inaccurate in the tail 221> p0 <- pchisq(q0, df=1.2, ncp=10, lower.tail=FALSE) 222> p1 <- pchisq(q1, df=1.2, ncp=10, lower.tail=FALSE) 223> iO <- 1:30 224> stopifnot(all.equal(q0[iO], q1[iO], tolerance = 1e-5),# 9.86e-8 225+ all.equal(p0[iO], psml[iO])) # 1.07e-13 226> 227> ##--- Beta (need more): 228> 229> ## big a & b (PR #643) 230> stopifnot(is.finite(a <- rlnorm(20, 5.5)), a > 0, 231+ is.finite(b <- rlnorm(20, 6.5)), b > 0) 232> pab <- expand.grid(seq(0,1,by=.1), a, b) 233> p <- pab[,1]; a <- pab[,2]; b <- pab[,3] 234> stopifnot(all.equal(dbeta(p,a,b), 235+ exp(pab <- dbeta(p,a,b, log = TRUE)), tolerance = 1e-11)) 236> sp <- sample(pab, 50) 237> if(!interactive()) 238+ stopifnot(which(isI <- sp == -Inf) == 239+ c(3, 10, 14, 18, 24, 32, 35, 41, 42, 45, 46, 47), 240+ all.equal(range(sp[!isI]), c(-2888.393250, 3.181137)) 241+ ) 242> 243> 244> ##--- Normal (& Lognormal) : 245> 246> stopifnot( 247+ qnorm(0) == -Inf, qnorm(-Inf, log = TRUE) == -Inf, 248+ qnorm(1) == Inf, qnorm( 0, log = TRUE) == Inf) 249> 250> assertWarning(stopifnot( 251+ is.nan(qnorm(1.1)), 252+ is.nan(qnorm(-.1)))) 253> 254> x <- c(-Inf, -1e100, 1:6, 1e200, Inf) 255> stopifnot( 256+ dnorm(x,3,s=0) == c(0,0,0,0, Inf, 0,0,0,0,0), 257+ pnorm(x,3,s=0) == c(0,0,0,0, 1 , 1,1,1,1,1), 258+ dnorm(x,3,s=Inf) == 0, 259+ pnorm(x,3,s=Inf) == c(0, rep(0.5, 8), 1)) 260> 261> ## 3 Test data from Wichura (1988) : 262> stopifnot( 263+ all.equal(qnorm(c( 0.25, .001, 1e-20)), 264+ c(-0.6744897501960817, -3.090232306167814, -9.262340089798408), 265+ tolerance = 1e-15) 266+ , ## extreme tail -- available on log scale only: 267+ all.equal(qnorm(-1e5, log = TRUE), -447.1974945) 268+ ) 269> 270> z <- rnorm(1000); all.equal(pnorm(z), 1 - pnorm(-z), tolerance = 1e-15) 271[1] TRUE 272> z <- c(-Inf,Inf,NA,NaN, rt(1000, df=2)) 273> z.ok <- z > -37.5 | !is.finite(z) 274> for(df in 1:10) stopifnot(all.equal(pt(z, df), 1 - pt(-z,df), tolerance = 1e-15)) 275> 276> stopifnot(All.eq(pz <- pnorm(z), 1 - pnorm(z, lower=FALSE)), 277+ All.eq(pz, pnorm(-z, lower=FALSE)), 278+ All.eq(log(pz[z.ok]), pnorm(z[z.ok], log=TRUE))) 279> y <- seq(-70,0, by = 10) 280> cbind(y, "log(pnorm(y))"= log(pnorm(y)), "pnorm(y, log=T)"= pnorm(y, log=TRUE)) 281 y log(pnorm(y)) pnorm(y, log=T) 282[1,] -70 -Inf -2455.1676378 283[2,] -60 -Inf -1805.0135607 284[3,] -50 -Inf -1254.8313611 285[4,] -40 -Inf -804.6084420 286[5,] -30 -454.3212440 -454.3212440 287[6,] -20 -203.9171554 -203.9171554 288[7,] -10 -53.2312852 -53.2312852 289[8,] 0 -0.6931472 -0.6931472 290> y <- c(1:15, seq(20,40, by=5)) 291> cbind(y, "log(pnorm(y))"= log(pnorm(y)), "pnorm(y, log=T)"= pnorm(y, log=TRUE), 292+ "log(pnorm(-y))"= log(pnorm(-y)), "pnorm(-y, log=T)"= pnorm(-y, log=TRUE)) 293 y log(pnorm(y)) pnorm(y, log=T) log(pnorm(-y)) pnorm(-y, log=T) 294 [1,] 1 -1.727538e-01 -1.727538e-01 -1.841022 -1.841022 295 [2,] 2 -2.301291e-02 -2.301291e-02 -3.783184 -3.783184 296 [3,] 3 -1.350810e-03 -1.350810e-03 -6.607726 -6.607726 297 [4,] 4 -3.167174e-05 -3.167174e-05 -10.360101 -10.360101 298 [5,] 5 -2.866516e-07 -2.866516e-07 -15.064998 -15.064998 299 [6,] 6 -9.865877e-10 -9.865876e-10 -20.736769 -20.736769 300 [7,] 7 -1.279865e-12 -1.279813e-12 -27.384307 -27.384307 301 [8,] 8 -6.661338e-16 -6.220961e-16 -35.013437 -35.013437 302 [9,] 9 0.000000e+00 -1.128588e-19 -43.628149 -43.628149 303[10,] 10 0.000000e+00 -7.619853e-24 -53.231285 -53.231285 304[11,] 11 0.000000e+00 -1.910660e-28 -63.824934 -63.824934 305[12,] 12 0.000000e+00 -1.776482e-33 -75.410673 -75.410673 306[13,] 13 0.000000e+00 -6.117164e-39 -87.989720 -87.989720 307[14,] 14 0.000000e+00 -7.793537e-45 -101.563034 -101.563034 308[15,] 15 0.000000e+00 -3.670966e-51 -116.131385 -116.131385 309[16,] 20 0.000000e+00 -2.753624e-89 -203.917155 -203.917155 310[17,] 25 0.000000e+00 -3.056697e-138 -316.639408 -316.639408 311[18,] 30 0.000000e+00 -4.906714e-198 -454.321244 -454.321244 312[19,] 35 0.000000e+00 -1.124911e-268 -616.975101 -616.975101 313[20,] 40 0.000000e+00 0.000000e+00 -Inf -804.608442 314> ## Symmetry: 315> y <- c(1:50,10^c(3:10,20,50,150,250)) 316> y <- c(-y,0,y) 317> for(L in c(FALSE,TRUE)) 318+ stopifnot(identical(pnorm(-y, log= L), 319+ pnorm(+y, log= L, lower=FALSE))) 320> 321> ## Log norm 322> stopifnot(All.eq(pz, plnorm(exp(z)))) 323> 324> 325> ###========== p <-> q Inversion consistency ===================== 326> ok <- 1e-5 < pz & pz < 1 - 1e-5 327> all.equal(z[ok], qnorm(pz[ok]), tolerance = 1e-12) 328[1] TRUE 329> 330> ###===== Random numbers -- first, just output: 331> 332> set.seed(123) 333> # .Random.seed <- c(0L, 17292L, 29447L, 24113L) 334> n <- 20 335> ## for(pre in PDQR) { n <- paste("r",pre,sep=""); cat(n,": "); str(get(n))} 336> (Rbeta <- rbeta (n, shape1 = .8, shape2 = 2) ) 337 [1] 0.554206761 0.387924405 0.012541339 0.257889595 0.236064413 0.008248085 338 [7] 0.136510774 0.618501837 0.028641308 0.151670292 0.242835922 0.551824427 339[13] 0.127798688 0.087335901 0.509096247 0.382121566 0.773494885 0.639404676 340[19] 0.066559813 0.227487378 341> (Rbinom <- rbinom (n, size = 55, prob = pi/16) ) 342 [1] 7 13 15 10 12 7 10 9 13 10 13 13 13 10 13 12 12 3 11 8 343> (Rcauchy <- rcauchy (n, location = 12, scale = 2) ) 344 [1] 17.042930 6.592944 15.980645 12.728113 13.921385 8.570544 19.557102 345 [8] 10.430404 12.669798 21.641273 11.905411 11.301537 11.254793 13.226057 346[15] 12.870672 8.167569 15.735143 8.272588 15.159679 13.338095 347> (Rchisq <- rchisq (n, df = 3) ) 348 [1] 3.8641030 1.8367371 1.2291085 1.9151780 2.5901414 0.4522238 0.1018120 349 [8] 0.4323865 2.4551985 2.8313420 1.1215175 8.6109152 0.2215425 2.6531221 350[15] 2.9968656 2.1074132 4.2698236 8.2015930 1.1384935 0.6041294 351> (Rexp <- rexp (n, rate = 2) ) 352 [1] 0.719726313 0.232135206 0.134439025 0.731650280 0.768696989 0.002299563 353 [7] 0.554382734 0.149985159 0.596001504 0.557464352 0.033687945 0.240334360 354[13] 0.785227170 0.129973053 0.928461144 0.231609810 0.118017873 0.591049711 355[19] 0.029835686 0.201619221 356> (Rf <- rf (n, df1 = 12, df2 = 6) ) 357 [1] 0.7630651 0.4158576 0.4052799 0.8862771 2.0435073 2.5383554 0.8259689 358 [8] 1.5831584 0.6362728 0.7221707 1.1665204 0.4821276 1.1985013 0.8955592 359[15] 1.5186453 0.7333794 0.3795005 0.7464008 1.5543317 5.8525268 360> (Rgamma <- rgamma (n, shape = 2, scale = 5) ) 361 [1] 11.843056 6.993596 12.413160 5.980309 5.970495 15.674812 7.382163 362 [8] 11.343789 5.392676 3.766812 15.331767 2.451095 13.046780 10.999054 363[15] 9.929606 6.239055 3.588397 26.196937 3.647236 23.051571 364> (Rgeom <- rgeom (n, prob = pi/16) ) 365 [1] 8 2 4 2 3 5 5 4 1 8 1 6 1 6 8 3 8 7 5 0 366> (Rhyper <- rhyper (n, m = 40, n = 30, k = 20) ) 367 [1] 12 11 12 10 13 11 13 13 8 12 12 15 11 11 11 12 9 11 12 12 368> (Rlnorm <- rlnorm (n, meanlog = -1, sdlog = 3) ) 369 [1] 1.873201e-02 5.609747e+01 9.793124e-02 4.203730e-02 9.015415e-03 370 [6] 7.795979e-03 6.574837e-02 2.348924e+00 1.027326e+01 3.073340e+00 371[11] 1.235670e-01 4.401014e-01 4.443226e-02 4.278129e-02 5.227596e+00 372[16] 1.747860e-02 1.297853e+02 2.805625e-01 7.002040e-01 4.013193e-02 373> (Rlogis <- rlogis (n, location = 12, scale = 2) ) 374 [1] 10.139287 14.905198 7.466552 15.060325 11.415297 14.260524 13.347886 375 [8] 11.554385 13.039986 -3.344515 9.436395 13.741216 9.411881 14.951552 376[15] 10.378811 13.579174 17.257244 7.933965 8.157203 13.491243 377> (Rnbinom <- rnbinom (n, size = 7, prob = .01) ) 378 [1] 563 315 519 707 614 637 560 1086 1088 842 522 787 576 673 607 379[16] 443 1023 590 663 947 380> (Rnorm <- rnorm (n, mean = -1, sd = 3) ) 381 [1] -0.3732778 -5.6447208 -4.5214067 2.5364456 -2.2579283 -6.5577259 382 [7] 0.4577794 -2.4157378 1.5402158 1.7773118 -1.9624917 -4.9029209 383[13] 6.3787040 1.3350950 1.0696427 -6.1133966 2.3161164 -1.9415584 384[19] -2.0400782 2.1153214 385> (Rpois <- rpois (n, lambda = 12) ) 386 [1] 10 15 14 9 15 12 16 7 7 14 11 14 16 12 15 7 7 13 15 12 387> (Rsignrank<- rsignrank(n, n = 47) ) 388 [1] 531 522 385 583 731 461 542 590 485 582 571 475 702 537 395 571 603 515 477 389[20] 609 390> (Rt <- rt (n, df = 11) ) 391 [1] -0.499846093 -1.670698483 -0.729757704 0.009882459 1.518830804 392 [6] -1.105480914 -0.073913420 -0.323601935 -0.309210484 1.071490670 393[11] -1.730648357 -0.283141485 0.205309956 0.409676847 3.137494386 394[16] 0.187070891 -1.154130926 0.970408359 -1.340678412 1.437769232 395> ## Rt2 below (to preserve the following random numbers!) 396> (Runif <- runif (n, min = .2, max = 2) ) 397 [1] 1.3077353 0.6915398 0.3146723 0.3301459 1.7723202 0.8530850 1.9021199 398 [8] 1.2049741 1.1227901 1.9059890 0.3976429 1.6740336 0.8792158 1.2019539 399[15] 0.7649681 0.3482172 1.6038876 0.5478225 1.3800538 0.9832647 400> (Rweibull <- rweibull (n, shape = 3, scale = 2) ) 401 [1] 2.3507552 0.3498804 1.8610901 3.0250054 0.8043691 1.0338586 1.5966081 402 [8] 2.1295946 1.1916615 0.7320637 1.0860054 2.5452588 0.6323843 1.6726976 403[15] 3.4711560 2.5185134 3.4519830 1.1740161 1.2526410 0.8298120 404> (Rwilcox <- rwilcox (n, m = 13, n = 17) ) 405 [1] 80 92 104 92 116 55 115 105 102 133 98 116 149 118 93 73 126 126 124 406[20] 99 407> (Rt2 <- rt (n, df = 1.01)) 408 [1] -0.4507473 7.9567158 1.9317506 -4.5681636 -0.7939303 -1.3143350 409 [7] -0.2751314 -1.2305970 -1.2321505 2.2912240 4.3743122 -1.3400950 410[13] -0.4901184 0.7864050 0.9570928 50.6881882 0.2577983 0.2478237 411[19] 1.3330087 0.3807687 412> 413> (Pbeta <- pbeta (Rbeta, shape1 = .8, shape2 = 2) ) 414 [1] 0.84605840 0.69836904 0.05389148 0.53895245 0.50764485 0.03861536 415 [7] 0.34373485 0.88868811 0.10358645 0.37126511 0.51751532 0.84433212 416[13] 0.32741433 0.24605563 0.81153016 0.69214938 0.96181357 0.90094249 417[19] 0.19989455 0.49493375 418> (Pbinom <- pbinom (Rbinom, size = 55, prob = pi/16) ) 419 [1] 0.128811009 0.822082686 0.939887897 0.473358125 0.725714645 0.128811009 420 [7] 0.473358125 0.340181320 0.822082686 0.473358125 0.822082686 0.822082686 421[13] 0.822082686 0.473358125 0.822082686 0.725714645 0.725714645 0.002917878 422[19] 0.606468256 0.221684127 423> (Pcauchy <- pcauchy (Rcauchy, location = 12, scale = 2) ) 424 [1] 0.8798165 0.1127710 0.8517979 0.6111354 0.7436195 0.1680556 0.9176468 425 [8] 0.2881958 0.6028646 0.9348927 0.4849570 0.3930511 0.3864691 0.6750527 426[15] 0.6306957 0.1531019 0.8435165 0.1567581 0.8203732 0.6876911 427> (Pchisq <- pchisq (Rchisq, df = 3) ) 428 [1] 0.723482597 0.393026646 0.253968309 0.409802926 0.540779498 0.070744975 429 [7] 0.008380908 0.066526148 0.516557851 0.581633585 0.228117628 0.965062738 430[13] 0.025961119 0.551747428 0.607891302 0.449585516 0.766236467 0.957975966 431[19] 0.232209338 0.104513603 432> (Pexp <- pexp (Rexp, rate = 2) ) 433 [1] 0.762942518 0.371406447 0.235763552 0.768528971 0.785059488 0.004588567 434 [7] 0.670033937 0.259159790 0.696387483 0.672061341 0.065156264 0.381630263 435[13] 0.792049319 0.228906859 0.843847516 0.370745580 0.210247557 0.693365692 436[19] 0.057925925 0.331847235 437> (Pf <- pf (Rf, df1 = 12, df2 = 6) ) 438 [1] 0.32410218 0.09232470 0.08630331 0.40259602 0.80440198 0.86907389 439 [7] 0.36505563 0.70322821 0.23758524 0.29664970 0.55170692 0.13291359 440[13] 0.56607937 0.40821091 0.68428769 0.30422992 0.07227779 0.31298492 441[19] 0.69494050 0.97980295 442> (Pgamma <- pgamma (Rgamma, shape = 2, scale = 5) ) 443 [1] 0.6846621 0.4077251 0.7091198 0.3359489 0.3352389 0.8201234 0.4342559 444 [8] 0.6618778 0.2931040 0.1745504 0.8105456 0.0872524 0.7344167 0.6453838 445[15] 0.5901700 0.3545801 0.1619732 0.9669094 0.1661030 0.9441847 446> (Pgeom <- pgeom (Rgeom, prob = pi/16) ) 447 [1] 0.8601686 0.4809591 0.6647753 0.4809591 0.5828725 0.7305965 0.7305965 448 [8] 0.6647753 0.3541459 0.8601686 0.3541459 0.7834938 0.3541459 0.7834938 449[15] 0.8601686 0.5828725 0.8601686 0.8260047 0.7305965 0.1963495 450> (Phyper <- phyper (Rhyper, m = 40, n = 30, k = 20) ) 451 [1] 0.71494883 0.51295659 0.71494883 0.30864260 0.86627413 0.51295659 452 [7] 0.86627413 0.86627413 0.05904998 0.71494883 0.71494883 0.98680472 453[13] 0.51295659 0.51295659 0.51295659 0.71494883 0.15132082 0.51295659 454[19] 0.71494883 0.71494883 455> (Plnorm <- plnorm (Rlnorm, meanlog = -1, sdlog = 3) ) 456 [1] 0.16047510 0.95310121 0.32954742 0.23481968 0.10817853 0.09944582 457 [7] 0.28299287 0.73170766 0.86646776 0.76039954 0.35805697 0.52382260 458[13] 0.24053070 0.23661975 0.81182742 0.15491172 0.97472581 0.46401663 459[19] 0.58493655 0.23009692 460> (Plogis <- plogis (Rlogis, location = 12, scale = 2) ) 461 [1] 0.2828523996 0.8103980662 0.0939166071 0.8220300712 0.4274282807 462 [6] 0.7558872597 0.6623855066 0.4445273969 0.6271461844 0.0004653491 463[11] 0.2172435140 0.7048722457 0.2151664882 0.8139337213 0.3077638743 464[16] 0.6877426857 0.9326810790 0.1157796648 0.1277056879 0.6782238574 465> (Pnbinom <- pnbinom (Rnbinom, size = 7, prob = .01) ) 466 [1] 0.34539127 0.04498289 0.27616523 0.57177025 0.42755552 0.46435569 467 [7] 0.34059007 0.91950991 0.92034921 0.74409223 0.28078034 0.68045166 468[13] 0.36627489 0.52069882 0.41628414 0.16798077 0.88887110 0.38885301 469[19] 0.50524696 0.83942274 470> (Pnorm <- pnorm (Rnorm, mean = -1, sd = 3) ) 471 [1] 0.58273974 0.06078223 0.12023713 0.88076412 0.33749500 0.03197163 472 [7] 0.68649035 0.31849459 0.80142958 0.82271739 0.37416939 0.09663374 473[13] 0.99304478 0.78182307 0.75486546 0.04414707 0.86550081 0.37681641 474[19] 0.36441108 0.85046748 475> (Ppois <- ppois (Rpois, lambda = 12) ) 476 [1] 0.3472294 0.8444157 0.7720245 0.2423922 0.8444157 0.5759652 0.8987090 477 [8] 0.0895045 0.0895045 0.7720245 0.4615973 0.7720245 0.8987090 0.5759652 478[15] 0.8444157 0.0895045 0.0895045 0.6815356 0.8444157 0.5759652 479> (Psignrank<- psignrank(Rsignrank, n = 47) ) 480 [1] 0.36663746 0.33169387 0.02921581 0.58098562 0.96191228 0.14044836 481 [7] 0.41083885 0.60942723 0.20480997 0.57688473 0.53132960 0.17614726 482[13] 0.92806867 0.39057277 0.03720129 0.53132960 0.66065154 0.30545809 483[19] 0.18167093 0.68340768 484> (Pt <- pt (Rt, df = 11) ) 485 [1] 0.31351556 0.06147847 0.24039508 0.50385399 0.92149468 0.14627181 486 [7] 0.47120313 0.37615421 0.38146974 0.84655256 0.05571530 0.39116296 487[13] 0.57946003 0.65504612 0.99527474 0.57249461 0.13645270 0.82365134 488[19] 0.10352754 0.91083331 489> (Pt2 <- pt (Rt2, df = 1.01) ) 490 [1] 0.36490878 0.96094812 0.84890254 0.06767383 0.28587141 0.20622746 491 [7] 0.41436382 0.21644090 0.21624373 0.86999347 0.92939659 0.20324856 492[13] 0.35461982 0.71264902 0.74365588 0.99395091 0.58047323 0.57748238 493[19] 0.79593933 0.61605276 494> (Punif <- punif (Runif, min = .2, max = 2) ) 495 [1] 0.61540849 0.27307767 0.06370684 0.07230328 0.87351121 0.36282500 496 [7] 0.94562215 0.55831894 0.51266115 0.94777166 0.10980160 0.81890755 497[13] 0.37734211 0.55664105 0.31387119 0.08234288 0.77993754 0.19323473 498[19] 0.65558547 0.43514705 499> (Pweibull <- pweibull (Rweibull, shape = 3, scale = 2) ) 500 [1] 0.802851673 0.005339578 0.553257134 0.968573336 0.062983442 0.129016046 501 [7] 0.398753717 0.700984544 0.190653725 0.047857615 0.147946029 0.872690264 502[13] 0.031117650 0.442898991 0.994635553 0.864236080 0.994152898 0.183125938 503[19] 0.217836412 0.068933714 504> (Pwilcox <- pwilcox (Rwilcox, m = 13, n = 17) ) 505 [1] 0.106381913 0.228522998 0.402346437 0.228522998 0.597653563 0.009833454 506 [7] 0.581622297 0.418377703 0.370781167 0.829464624 0.310291237 0.597653563 507[13] 0.948370460 0.629218833 0.241282199 0.061358235 0.745593076 0.745593076 508[19] 0.718298294 0.325029106 509> 510> dbeta (Rbeta, shape1 = .8, shape2 = 2) 511 [1] 0.7223732 1.0651681 3.4136000 1.4013424 1.4682944 3.7281631 1.8517657 512 [8] 0.6047651 2.8467121 1.7813410 1.4470712 0.7268595 1.8952825 2.1401041 513[15] 0.8090938 1.0785126 0.3433595 0.5678419 2.3110352 1.4958106 514> dbinom (Rbinom, size = 55, prob = pi/16) 515 [1] 0.063354298 0.096368041 0.047170694 0.133176805 0.119246389 0.063354298 516 [7] 0.133176805 0.118497194 0.096368041 0.133176805 0.096368041 0.096368041 517[13] 0.096368041 0.133176805 0.096368041 0.119246389 0.119246389 0.002298608 518[19] 0.133110131 0.092873118 519> dcauchy (Rcauchy, location = 12, scale = 2) 520 [1] 0.021630824 0.019154376 0.032078738 0.140529537 0.082766881 0.040391664 521 [7] 0.010417640 0.098492589 0.143104718 0.006566194 0.158799748 0.141854068 522[13] 0.139752618 0.115681430 0.133797911 0.034066567 0.035463730 0.035578069 523[19] 0.045526265 0.109942144 524> dchisq (Rchisq, df = 3) 525 [1] 0.11359392 0.21581974 0.23922560 0.21190393 0.17584488 0.21398711 526 [7] 0.12097660 0.21132681 0.18315290 0.16296267 0.24114522 0.01579786 527[13] 0.16808590 0.17245292 0.15434146 0.20191378 0.09748429 0.01891934 528[19] 0.24090989 0.22923980 529> dexp (Rexp, rate = 2) 530 [1] 0.4741150 1.2571871 1.5284729 0.4629421 0.4298810 1.9908229 0.6599321 531 [8] 1.4816804 0.6072250 0.6558773 1.8696875 1.2367395 0.4159014 1.5421863 532[15] 0.3123050 1.2585088 1.5795049 0.6132686 1.8841481 1.3363055 533> df (Rf, df1 = 12, df2 = 6) 534 [1] 0.664042111 0.576090730 0.562274916 0.607318497 0.167959027 0.100284610 535 [7] 0.637144174 0.282709564 0.693573655 0.678003283 0.457493848 0.643454728 536[13] 0.441386316 0.602499118 0.304762080 0.674516557 0.524996364 0.670131912 537[19] 0.292349736 0.008558897 538> dgamma (Rgamma, shape = 2, scale = 5) 539 [1] 0.044345445 0.069072391 0.041471424 0.072333682 0.072356861 0.027275042 540 [7] 0.067458566 0.046936330 0.073360525 0.070933729 0.028572738 0.060051063 541[13] 0.038400284 0.048758423 0.054515175 0.071657454 0.070028735 0.005557423 542[19] 0.070344309 0.009173320 543> dgeom (Rgeom, prob = pi/16) 544 [1] 0.03416390 0.12681315 0.08190279 0.12681315 0.10191344 0.06582121 545 [7] 0.06582121 0.08190279 0.15779640 0.03416390 0.15779640 0.05289725 546[13] 0.15779640 0.05289725 0.03416390 0.10191344 0.03416390 0.04251090 547[19] 0.06582121 0.19634954 548> dhyper (Rhyper, m = 40, n = 30, k = 20) 549 [1] 0.20199224 0.20431399 0.20199224 0.15732178 0.15132529 0.20431399 550 [7] 0.15132529 0.15132529 0.04108936 0.20199224 0.20199224 0.03541012 551[13] 0.20431399 0.20431399 0.20431399 0.20199224 0.09227084 0.20431399 552[19] 0.20199224 0.20199224 553> dlnorm (Rlnorm, meanlog = -1, sdlog = 3) 554 [1] 4.3380954158 0.0005822436 1.2319845653 2.4357017049 6.8694422907 555 [6] 7.4733929149 1.7154009417 0.0467724227 0.0069920836 0.0336865537 556[11] 1.0073244481 0.3016205039 2.3349967070 2.4034440204 0.0172006936 557[16] 4.5426601250 0.0001514856 0.4720497698 0.1855964185 2.5226771709 558> dlogis (Rlogis, location = 12, scale = 2) 559 [1] 0.1014234598 0.0768265203 0.0425481390 0.0731483166 0.1223666728 560 [6] 0.0922608552 0.1118154736 0.1234613952 0.1169169239 0.0002325663 561[11] 0.0850243848 0.1040136815 0.0844349353 0.0757228093 0.1065226360 562[16] 0.1073763420 0.0313935419 0.0511873670 0.0556984726 0.1091181283 563> dnbinom (Rnbinom, size = 7, prob = .01) 564 [1] 0.0016012889 0.0006114669 0.0015340423 0.0014659766 0.0016087509 565 [6] 0.0015899813 0.0015985567 0.0004225217 0.0004186957 0.0010719579 566[11] 0.0015404998 0.0012444310 0.0016100854 0.0015372764 0.0016118864 567[16] 0.0012822374 0.0005567006 0.0016141573 0.0015545113 0.0007531913 568> dnorm (Rnorm, mean = -1, sd = 3) 569 [1] 0.130110398 0.040112199 0.066772988 0.066380399 0.121789513 0.023907371 570 [7] 0.118172118 0.118967900 0.092918367 0.086632832 0.126309889 0.057050581 571[13] 0.006458952 0.098226734 0.104819164 0.031112294 0.072188495 0.126589892 572[19] 0.125224300 0.077557930 573> dpois (Rpois, lambda = 12) 574 [1] 0.10483726 0.07239112 0.09048890 0.08736438 0.07239112 0.11436792 575 [7] 0.05429334 0.04368219 0.04368219 0.09048890 0.11436792 0.09048890 576[13] 0.05429334 0.11436792 0.07239112 0.04368219 0.04368219 0.10557038 577[19] 0.07239112 0.11436792 578> dsignrank(Rsignrank, n = 47) 579 [1] 0.0039429676 0.0038018425 0.0007151971 0.0041008982 0.0009032331 580 [6] 0.0023508267 0.0040737886 0.0040318201 0.0029828933 0.0041090875 581[11] 0.0041704554 0.0027222983 0.0014781510 0.0040203094 0.0008698303 582[16] 0.0041704554 0.0038520708 0.0036731856 0.0027749926 0.0037486048 583> dt (Rt, df = 11) 584 [1] 0.340823726 0.100413165 0.293668976 0.389968983 0.124439520 0.207270198 585 [7] 0.388829635 0.368437694 0.370255866 0.214961569 0.091948602 0.373362745 586[13] 0.381142118 0.356119169 0.008424401 0.382627645 0.196428441 0.238239645 587[19] 0.157280563 0.138777161 588> dunif (Runif, min = .2, max = 2) 589 [1] 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 590 [8] 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 591[15] 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 592> dweibull (Rweibull, shape = 3, scale = 2) 593 [1] 0.40854433 0.04566100 0.58026142 0.10784049 0.22734704 0.34911114 594 [7] 0.57475176 0.50853257 0.43099423 0.19135106 0.37684466 0.30928353 595[13] 0.14529960 0.58452097 0.02423843 0.32292685 0.02612818 0.42221582 596[19] 0.46023762 0.24042036 597> dwilcox (Rwilcox, m = 13, n = 17) 598 [1] 0.007553976 0.012383032 0.015873676 0.012383032 0.016031266 0.001126580 599 [7] 0.016163798 0.016031266 0.015486075 0.010799421 0.014448507 0.016031266 600[13] 0.004704515 0.015691594 0.012759201 0.005024180 0.013477697 0.013477697 601[19] 0.014141025 0.014737869 602> 603> ## Check q*(p*(.)) = identity 604> All.eq(Rbeta, qbeta (Pbeta, shape1 = .8, shape2 = 2)) 605[1] TRUE 606> All.eq(Rbinom, qbinom (Pbinom, size = 55, prob = pi/16)) 607[1] TRUE 608> All.eq(Rcauchy, qcauchy (Pcauchy, location = 12, scale = 2)) 609[1] TRUE 610> All.eq(Rchisq, qchisq (Pchisq, df = 3)) 611[1] TRUE 612> All.eq(Rexp, qexp (Pexp, rate = 2)) 613[1] TRUE 614> All.eq(Rf, qf (Pf, df1 = 12, df2 = 6)) 615[1] TRUE 616> All.eq(Rgamma, qgamma (Pgamma, shape = 2, scale = 5)) 617[1] TRUE 618> All.eq(Rgeom, qgeom (Pgeom, prob = pi/16)) 619[1] TRUE 620> All.eq(Rhyper, qhyper (Phyper, m = 40, n = 30, k = 20)) 621[1] TRUE 622> All.eq(Rlnorm, qlnorm (Plnorm, meanlog = -1, sdlog = 3)) 623[1] TRUE 624> All.eq(Rlogis, qlogis (Plogis, location = 12, scale = 2)) 625[1] TRUE 626> All.eq(Rnbinom, qnbinom (Pnbinom, size = 7, prob = .01)) 627[1] TRUE 628> All.eq(Rnorm, qnorm (Pnorm, mean = -1, sd = 3)) 629[1] TRUE 630> All.eq(Rpois, qpois (Ppois, lambda = 12)) 631[1] TRUE 632> All.eq(Rsignrank, qsignrank(Psignrank, n = 47)) 633[1] TRUE 634> All.eq(Rt, qt (Pt, df = 11)) 635[1] TRUE 636> All.eq(Rt2, qt (Pt2, df = 1.01)) 637[1] TRUE 638> All.eq(Runif, qunif (Punif, min = .2, max = 2)) 639[1] TRUE 640> All.eq(Rweibull, qweibull (Pweibull, shape = 3, scale = 2)) 641[1] TRUE 642> All.eq(Rwilcox, qwilcox (Pwilcox, m = 13, n = 17)) 643[1] TRUE 644> 645> ## Same with "upper tail": 646> All.eq(Rbeta, qbeta (1- Pbeta, shape1 = .8, shape2 = 2, lower=F)) 647[1] TRUE 648> All.eq(Rbinom, qbinom (1- Pbinom, size = 55, prob = pi/16, lower=F)) 649[1] TRUE 650> All.eq(Rcauchy, qcauchy (1- Pcauchy, location = 12, scale = 2, lower=F)) 651[1] TRUE 652> All.eq(Rchisq, qchisq (1- Pchisq, df = 3, lower=F)) 653[1] TRUE 654> All.eq(Rexp, qexp (1- Pexp, rate = 2, lower=F)) 655[1] TRUE 656> All.eq(Rf, qf (1- Pf, df1 = 12, df2 = 6, lower=F)) 657[1] TRUE 658> All.eq(Rgamma, qgamma (1- Pgamma, shape = 2, scale = 5, lower=F)) 659[1] TRUE 660> All.eq(Rgeom, qgeom (1- Pgeom, prob = pi/16, lower=F)) 661[1] TRUE 662> All.eq(Rhyper, qhyper (1- Phyper, m = 40, n = 30, k = 20, lower=F)) 663[1] TRUE 664> All.eq(Rlnorm, qlnorm (1- Plnorm, meanlog = -1, sdlog = 3, lower=F)) 665[1] TRUE 666> All.eq(Rlogis, qlogis (1- Plogis, location = 12, scale = 2, lower=F)) 667[1] TRUE 668> All.eq(Rnbinom, qnbinom (1- Pnbinom, size = 7, prob = .01, lower=F)) 669[1] TRUE 670> All.eq(Rnorm, qnorm (1- Pnorm, mean = -1, sd = 3,lower=F)) 671[1] TRUE 672> All.eq(Rpois, qpois (1- Ppois, lambda = 12, lower=F)) 673[1] TRUE 674> All.eq(Rsignrank, qsignrank(1- Psignrank, n = 47, lower=F)) 675[1] TRUE 676> All.eq(Rt, qt (1- Pt, df = 11, lower=F)) 677[1] TRUE 678> All.eq(Rt2, qt (1- Pt2, df = 1.01, lower=F)) 679[1] TRUE 680> All.eq(Runif, qunif (1- Punif, min = .2, max = 2, lower=F)) 681[1] TRUE 682> All.eq(Rweibull, qweibull (1- Pweibull, shape = 3, scale = 2, lower=F)) 683[1] TRUE 684> All.eq(Rwilcox, qwilcox (1- Pwilcox, m = 13, n = 17, lower=F)) 685[1] TRUE 686> 687> ## Check q*(p* ( log ), log) = identity 688> All.eq(Rbeta, qbeta (log(Pbeta), shape1 = .8, shape2 = 2, log=TRUE)) 689[1] TRUE 690> All.eq(Rbinom, qbinom (log(Pbinom), size = 55, prob = pi/16, log=TRUE)) 691[1] TRUE 692> All.eq(Rcauchy, qcauchy (log(Pcauchy), location = 12, scale = 2, log=TRUE)) 693[1] TRUE 694> All.eq(Rchisq, qchisq (log(Pchisq), df = 3, log=TRUE)) 695[1] TRUE 696> All.eq(Rexp, qexp (log(Pexp), rate = 2, log=TRUE)) 697[1] TRUE 698> All.eq(Rf, qf (log(Pf), df1= 12, df2= 6, log=TRUE)) 699[1] TRUE 700> All.eq(Rgamma, qgamma (log(Pgamma), shape = 2, scale = 5, log=TRUE)) 701[1] TRUE 702> All.eq(Rgeom, qgeom (log(Pgeom), prob = pi/16, log=TRUE)) 703[1] TRUE 704> All.eq(Rhyper, qhyper (log(Phyper), m = 40, n = 30, k = 20, log=TRUE)) 705[1] TRUE 706> All.eq(Rlnorm, qlnorm (log(Plnorm), meanlog = -1, sdlog = 3, log=TRUE)) 707[1] TRUE 708> All.eq(Rlogis, qlogis (log(Plogis), location = 12, scale = 2, log=TRUE)) 709[1] TRUE 710> All.eq(Rnbinom, qnbinom (log(Pnbinom), size = 7, prob = .01, log=TRUE)) 711[1] TRUE 712> All.eq(Rnorm, qnorm (log(Pnorm), mean = -1, sd = 3, log=TRUE)) 713[1] TRUE 714> All.eq(Rpois, qpois (log(Ppois), lambda = 12, log=TRUE)) 715[1] TRUE 716> All.eq(Rsignrank, qsignrank(log(Psignrank), n = 47, log=TRUE)) 717[1] TRUE 718> All.eq(Rt, qt (log(Pt), df = 11, log=TRUE)) 719[1] TRUE 720> All.eq(Rt2, qt (log(Pt2), df = 1.01, log=TRUE)) 721[1] TRUE 722> All.eq(Runif, qunif (log(Punif), min = .2, max = 2, log=TRUE)) 723[1] TRUE 724> All.eq(Rweibull, qweibull (log(Pweibull), shape = 3, scale = 2, log=TRUE)) 725[1] TRUE 726> All.eq(Rwilcox, qwilcox (log(Pwilcox), m = 13, n = 17, log=TRUE)) 727[1] TRUE 728> 729> ## same q*(p* (log) log) with upper tail: 730> 731> All.eq(Rbeta, qbeta (log1p(-Pbeta), shape1 = .8, shape2 = 2, lower=F, log=T)) 732[1] TRUE 733> All.eq(Rbinom, qbinom (log1p(-Pbinom), size = 55, prob = pi/16, lower=F, log=T)) 734[1] TRUE 735> All.eq(Rcauchy, qcauchy (log1p(-Pcauchy), location = 12, scale = 2, lower=F, log=T)) 736[1] TRUE 737> All.eq(Rchisq, qchisq (log1p(-Pchisq), df = 3, lower=F, log=T)) 738[1] TRUE 739> All.eq(Rexp, qexp (log1p(-Pexp), rate = 2, lower=F, log=T)) 740[1] TRUE 741> All.eq(Rf, qf (log1p(-Pf), df1 = 12, df2 = 6, lower=F, log=T)) 742[1] TRUE 743> All.eq(Rgamma, qgamma (log1p(-Pgamma), shape = 2, scale = 5, lower=F, log=T)) 744[1] TRUE 745> All.eq(Rgeom, qgeom (log1p(-Pgeom), prob = pi/16, lower=F, log=T)) 746[1] TRUE 747> All.eq(Rhyper, qhyper (log1p(-Phyper), m = 40, n = 30, k = 20, lower=F, log=T)) 748[1] TRUE 749> All.eq(Rlnorm, qlnorm (log1p(-Plnorm), meanlog = -1, sdlog = 3, lower=F, log=T)) 750[1] TRUE 751> All.eq(Rlogis, qlogis (log1p(-Plogis), location = 12, scale = 2, lower=F, log=T)) 752[1] TRUE 753> All.eq(Rnbinom, qnbinom (log1p(-Pnbinom), size = 7, prob = .01, lower=F, log=T)) 754[1] TRUE 755> All.eq(Rnorm, qnorm (log1p(-Pnorm), mean = -1, sd = 3, lower=F, log=T)) 756[1] TRUE 757> All.eq(Rpois, qpois (log1p(-Ppois), lambda = 12, lower=F, log=T)) 758[1] TRUE 759> All.eq(Rsignrank, qsignrank(log1p(-Psignrank), n = 47, lower=F, log=T)) 760[1] TRUE 761> All.eq(Rt, qt (log1p(-Pt ), df = 11, lower=F, log=T)) 762[1] TRUE 763> All.eq(Rt2, qt (log1p(-Pt2), df = 1.01, lower=F, log=T)) 764[1] TRUE 765> All.eq(Runif, qunif (log1p(-Punif), min = .2, max = 2, lower=F, log=T)) 766[1] TRUE 767> All.eq(Rweibull, qweibull (log1p(-Pweibull), shape = 3, scale = 2, lower=F, log=T)) 768[1] TRUE 769> All.eq(Rwilcox, qwilcox (log1p(-Pwilcox), m = 13, n = 17, lower=F, log=T)) 770[1] TRUE 771> 772> 773> ## Check log( upper.tail ): 774> All.eq(log1p(-Pbeta), pbeta (Rbeta, shape1 = .8, shape2 = 2, lower=F, log=T)) 775[1] TRUE 776> All.eq(log1p(-Pbinom), pbinom (Rbinom, size = 55, prob = pi/16, lower=F, log=T)) 777[1] TRUE 778> All.eq(log1p(-Pcauchy), pcauchy (Rcauchy, location = 12, scale = 2, lower=F, log=T)) 779[1] TRUE 780> All.eq(log1p(-Pchisq), pchisq (Rchisq, df = 3, lower=F, log=T)) 781[1] TRUE 782> All.eq(log1p(-Pexp), pexp (Rexp, rate = 2, lower=F, log=T)) 783[1] TRUE 784> All.eq(log1p(-Pf), pf (Rf, df1 = 12, df2 = 6, lower=F, log=T)) 785[1] TRUE 786> All.eq(log1p(-Pgamma), pgamma (Rgamma, shape = 2, scale = 5, lower=F, log=T)) 787[1] TRUE 788> All.eq(log1p(-Pgeom), pgeom (Rgeom, prob = pi/16, lower=F, log=T)) 789[1] TRUE 790> All.eq(log1p(-Phyper), phyper (Rhyper, m = 40, n = 30, k = 20, lower=F, log=T)) 791[1] TRUE 792> All.eq(log1p(-Plnorm), plnorm (Rlnorm, meanlog = -1, sdlog = 3, lower=F, log=T)) 793[1] TRUE 794> All.eq(log1p(-Plogis), plogis (Rlogis, location = 12, scale = 2, lower=F, log=T)) 795[1] TRUE 796> All.eq(log1p(-Pnbinom), pnbinom (Rnbinom, size = 7, prob = .01, lower=F, log=T)) 797[1] TRUE 798> All.eq(log1p(-Pnorm), pnorm (Rnorm, mean = -1, sd = 3, lower=F, log=T)) 799[1] TRUE 800> All.eq(log1p(-Ppois), ppois (Rpois, lambda = 12, lower=F, log=T)) 801[1] TRUE 802> All.eq(log1p(-Psignrank), psignrank(Rsignrank, n = 47, lower=F, log=T)) 803[1] TRUE 804> All.eq(log1p(-Pt), pt (Rt, df = 11, lower=F, log=T)) 805[1] TRUE 806> All.eq(log1p(-Pt2), pt (Rt2,df = 1.01, lower=F, log=T)) 807[1] TRUE 808> All.eq(log1p(-Punif), punif (Runif, min = .2, max = 2, lower=F, log=T)) 809[1] TRUE 810> All.eq(log1p(-Pweibull), pweibull (Rweibull, shape = 3, scale = 2, lower=F, log=T)) 811[1] TRUE 812> All.eq(log1p(-Pwilcox), pwilcox (Rwilcox, m = 13, n = 17, lower=F, log=T)) 813[1] TRUE 814> 815> 816> ## Inf df in pf etc. 817> # apparently pf(df2=Inf) worked in 2.0.1 (undocumented) but df did not. 818> x <- c(1/pi, 1, pi) 819> oo <- options(digits = 8) 820> df(x, 3, 1e6) 821[1] 0.72553184 0.46254030 0.03300701 822> df(x, 3, Inf) 823[1] 0.725532165 0.462540989 0.033006719 824> pf(x, 3, 1e6) 825[1] 0.18784423 0.60837436 0.97585435 826> pf(x, 3, Inf) 827[1] 0.18784423 0.60837482 0.97585479 828> 829> df(x, 1e6, 5) 830[1] 0.158602071 0.610206081 0.061036395 831> df(x, Inf, 5) 832[1] 0.15859792 0.61020761 0.06103637 833> pf(x, 1e6, 5) 834[1] 0.0077295711 0.4158807972 0.9022692409 835> pf(x, Inf, 5) 836[1] 0.0077292503 0.4158801870 0.9022693759 837> 838> df(x, Inf, Inf)# (0, Inf, 0) - since 2.1.1 839[1] 0 Inf 0 840> pf(x, Inf, Inf)# (0, 1/2, 1) 841[1] 0.0 0.5 1.0 842> 843> pf(x, 5, Inf, ncp=0) 844[1] 0.097730624 0.584119813 0.992270750 845> all.equal(pf(x, 5, 1e6, ncp=1), tolerance = 1e-6, 846+ c(0.065933194, 0.470879987, 0.978875867)) 847[1] TRUE 848> all.equal(pf(x, 5, 1e7, ncp=1), tolerance = 1e-6, 849+ c(0.06593309, 0.47088028, 0.97887641)) 850[1] TRUE 851> all.equal(pf(x, 5, 1e8, ncp=1), tolerance = 1e-6, 852+ c(0.0659330751, 0.4708802996, 0.9788764591)) 853[1] TRUE 854> pf(x, 5, Inf, ncp=1) 855[1] 0.065933078 0.470880318 0.978876467 856> 857> dt(1, Inf) 858[1] 0.24197072 859> dt(1, Inf, ncp=0) 860[1] 0.24197072 861> dt(1, Inf, ncp=1) 862[1] 0.39894228 863> dt(1, 1e6, ncp=1) 864[1] 0.39894208 865> dt(1, 1e7, ncp=1) 866[1] 0.39894226 867> dt(1, 1e8, ncp=1) 868[1] 0.39894227 869> dt(1, 1e10, ncp=1) # = Inf 870[1] 0.39894228 871> ## Inf valid as from 2.1.1: df(x, 1e16, 5) was way off in 2.0.1. 872> 873> sml.x <- c(10^-c(2:8,100), 0) 874> cbind(x = sml.x, `dt(x,*)` = dt(sml.x, df = 2, ncp=1)) 875 x dt(x,*) 876 [1,] 1e-02 0.21686052 877 [2,] 1e-03 0.21468294 878 [3,] 1e-04 0.21446517 879 [4,] 1e-05 0.21444339 880 [5,] 1e-06 0.21444121 881 [6,] 1e-07 0.21444100 882 [7,] 1e-08 0.21444097 883 [8,] 1e-100 0.21444097 884 [9,] 0e+00 0.21444097 885> ## small 'x' used to suffer from cancellation 886> options(oo) 887> 888> ## NB: Do *NOT* add new examples here, but rather in ./d-p-q-r-tst-2.R 889> ## == ~~~ ~~~~ ~~~ ~~~~~~~~~~~~~~~ 890> 891> cat("Time elapsed: ", proc.time() - .ptime,"\n") 892Time elapsed: 1.058 0.016 1.079 0 0 893> 894