R : Copyright 2000, The R Development Core Team Version 1.2.0 Under development (unstable) (2000-11-15) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type `license()' or `licence()' for distribution details. R is a collaborative project with many contributors. Type `contributors()' for more information. Type `demo()' for some demos, `help()' for on-line help, or `help.start()' for a HTML browser interface to help. Type `q()' to quit R. > #### d|ensity > #### p|robability (cumulative) > #### q|uantile > #### r|andom number generation > #### > #### Functions for ``d/p/q/r'' > > .ptime <- proc.time() > ###-- these are identical in ./arith-true.R ["fixme": use source(..)] > opt.conformance <- 0 > Meps <- .Machine $ double.eps > xMax <- .Machine $ double.xmax > options(rErr.eps = 1e-30) > rErr <- function(approx, true, eps = .Options$rErr.eps) + { + if(is.null(eps)) { eps <- 1e-30; options(rErr.eps = eps) } + ifelse(Mod(true) >= eps, + 1 - approx / true, # relative error + true - approx) # absolute error (e.g. when true=0) + } > ## Short cut: > All.eq <- function(x,y) all.equal.numeric(x,y, tolerance = 1e-14) > > if(!interactive()) + .Random.seed <- c(0,rep(7654, 3)) > > ###--- Discrete Distributions: Simple Consistency Checks pZZ = cumsum(dZZ) > > all(dpois(0:5,0) == c(1, rep(0,5))) [1] TRUE > all(dpois(0:5,0, log=TRUE) == c(0, rep(-Inf, 5))) [1] TRUE > > ## Currently, just Wilcoxon [should do this for all !] > is.sym <- TRUE > for(n in rpois(5, lam=6)) + for(m in rpois(15, lam=8)) + { + x <- -1:(n*m + 1) + fx <- dwilcox(x, n, m) + Fx <- pwilcox(x, n, m) + is.sym <- is.sym & all(fx == dwilcox(x, m, n)) + eq <- All.eq(Fx, cumsum(fx)) + if(!is.logical(eq) || !eq) print(eq) + } > is.sym [1] TRUE > > ##--- Cumulative Poisson '==' Cumulative Chi^2 : > ##--- Abramowitz & Stegun, p.941 : 26.4.21 (26.4.2) > n1 <- 20; n2 <- 16 > for(lambda in rexp(n1)) + for(k in rpois(n2, lambda)) { + tst <- all.equal(1 - pchisq(2*lambda, 2*(k+1)), + pp <- sum(dpois(0:k, lambda=lambda)), tol = 100*Meps) + if(!(is.logical(tst) && tst)) + cat("lambda=", format(lambda),". k =",k, " --> tst=", tst,"\n") + tst2 <- all.equal(pp, ppois(k, lambda=lambda), tol = 100*Meps) + if(!(is.logical(tst2) && tst2)) + cat("lambda=", format(lambda),". k =",k, " --> tst2=", tst2,"\n") + tst3 <- all.equal(1 - pp, ppois(k, lambda=lambda, lower.tail=FALSE)) + if(!(is.logical(tst3) && tst3)) + cat("lambda=", format(lambda),". k =",k, " --> tst3=", tst3,"\n") + } > > ##--- Cumulative Binomial '==' Cumulative F : > ##--- Abramowitz & Stegun, p.945-6; 26.5.24 AND 26.5.28 : > n0 <- 50; n1 <- 16; n2 <- 20; n3 <- 8 > for(n in rbinom(n1, size = 2*n0, p = .4)) { + cat("n=",n,": ") + for(p in c(0,1,rbeta(n2, 2,4))) { + cat(".") + for(k in rbinom(n3, size = n, prob = runif(1))) { + ## For X ~ Bin(n,p), compute 1 - P[X > k] = P[X <= k] in two ways: + tst <- all.equal(if(k==n || p==0) 1 else + pf((k+1)/(n-k)*(1-p)/p, df1=2*(n-k), df2=2*(k+1)), + sum(dbinom(0:k, size = n, prob = p))) + if(!(is.logical(tst) && tst)) + cat("n=", n,"; p =",format(p),". k =",k, " --> tst=",tst,"\n") + } + } + cat("\n") + } n= 33 : ...................... n= 32 : ...................... n= 33 : ...................... n= 44 : ...................... n= 39 : ...................... n= 44 : ...................... n= 41 : ...................... n= 46 : ...................... n= 30 : ...................... n= 43 : ...................... n= 44 : ...................... n= 33 : ...................... n= 37 : ...................... n= 39 : ...................... n= 37 : ...................... n= 50 : ...................... > > ##--- Gamma (incl. chi^2) Density : > x <- round(rgamma(100, shape = 2),2) > for(sh in round(rlnorm(30),2)) { + Ga <- gamma(sh) + for(sig in round(rlnorm(30),2)) { + tst <- all.equal((d1 <- dgamma( x, shape = sh, scale = sig)), + (d2 <- dgamma(x/sig, shape = sh, scale = 1) / sig), + tol = 1e-14)## __ad interim__ was 1e-15 + if(!(is.logical(tst) && tst)) + cat("ERROR: dgamma() doesn't scale:",tst,"\n", + " x =", formatC(x),"\n shape,scale=",formatC(c(sh, sig)),"\n") + tst <- All.eq(d1, (d3 <- 1/(Ga * sig^sh) * x^(sh-1) * exp(-x/sig))) + if(!(is.logical(tst) && tst)) + cat("NOT Equal:",tst,"\n x =", formatC(x), + "\n shape,scale=",formatC(c(sh, sig)),"\n") + } + } > pgamma(1,Inf,Inf) == 0 [1] TRUE > all(is.nan(c(pgamma(Inf,1,Inf), pgamma(Inf,Inf,1), pgamma(Inf,Inf,Inf)))) [1] TRUE Warning messages: 1: NaNs produced in: pgamma(q, shape, scale, lower.tail, log.p) 2: NaNs produced in: pgamma(q, shape, scale, lower.tail, log.p) 3: NaNs produced in: pgamma(q, shape, scale, lower.tail, log.p) > pgamma(Inf,1,xMax) == 1 && pgamma(xMax,1,Inf) == 0 [1] TRUE > > ##--- Beta (need more): > > ## big a & b (PR #643) > summary(a <- rlnorm(20, 5.5)) Min. 1st Qu. Median Mean 3rd Qu. Max. 27.65 122.90 217.40 425.70 405.00 2017.00 > summary(b <- rlnorm(20, 6.5)) Min. 1st Qu. Median Mean 3rd Qu. Max. 102.5 298.7 543.5 880.6 850.4 3144.0 > pab <- expand.grid(seq(0,1,by=.1), a, b) > p <- pab[,1]; a <- pab[,2]; b <- pab[,3] > all.equal(dbeta(p,a,b), exp(pab <- dbeta(p,a,b, log = TRUE)), tol = 1e-11) [1] TRUE > sample(pab, 50) [1] -Inf -130.5211148 -1156.3350120 2.5609305 -167.6013444 [6] -Inf -Inf -22.3322711 -2669.6168481 -12.1267476 [11] -Inf -Inf -1.2433125 -2056.3157102 -Inf [16] -72.8824245 -Inf -38.4107147 2.4819954 -89.2725781 [21] -133.6280003 1.9256240 -354.6259852 -6.7038414 -71.6237059 [26] -383.7528143 -38.5976396 -Inf -416.7312451 -1295.2560781 [31] -20.2485404 -414.3568613 -32.5299950 -1041.8994173 -31.1549695 [36] -267.0701042 2.5164276 -30.2187014 -0.6049374 -1275.5518021 [41] -909.6115927 1.1920417 -751.4409130 -1487.3397345 -247.6706732 [46] 2.3257866 -84.9386146 -Inf -628.0888136 -122.1900394 > > > ##--- Normal (& Lognormal) : > > qnorm(0) == -Inf && qnorm(-Inf, log = TRUE) == -Inf [1] TRUE > qnorm(1) == Inf && qnorm(0, log = TRUE) == Inf [1] TRUE > > is.nan(qnorm(1.1)) && + is.nan(qnorm(-.1)) # + warn [1] TRUE Warning messages: 1: NaNs produced in: qnorm(p, mean, sd, lower.tail, log.p) 2: NaNs produced in: qnorm(p, mean, sd, lower.tail, log.p) > > ## 3 Test data from Wichura (1988) : > all.equal(qnorm(c( 0.25, .001, 1e-20)), + c(-0.6744897501960817, -3.090232306167814, -9.262340089798408), + tol = 1e-15) [1] TRUE > # extreme tail -- available on log scale only: > all.equal(qnorm(-1e5, log = TRUE), -447.1974945) [1] TRUE > > z <- rnorm(1000); all.equal(pnorm(z), 1 - pnorm(-z), tol= 1e-15) [1] TRUE > z <- c(-Inf,Inf,NA,NaN, rt(1000, df=2)) > z.ok <- z > -37.5 | !is.finite(z) > for(df in 1:10) if(!is.logical(all.equal(pt(z, df), 1 - pt(-z,df), tol= 1e-15))) + cat("ERROR -- df = ", df, "\n") > All.eq(pz <- pnorm(z), 1 - pnorm(z, lower=FALSE)) [1] TRUE > All.eq(pz, pnorm(-z, lower=FALSE)) [1] TRUE > All.eq(log(pz[z.ok]), pnorm(z[z.ok], log=TRUE)) [1] TRUE > y <- seq(-70,0, by = 10) > cbind(y, "log(pnorm(y))"= log(pnorm(y)), "pnorm(y, log=T)"= pnorm(y, log=TRUE)) y log(pnorm(y)) pnorm(y, log=T) [1,] -70 -Inf -2455.1676378 [2,] -60 -Inf -1805.0135607 [3,] -50 -Inf -1254.8313611 [4,] -40 -Inf -804.6084420 [5,] -30 -454.3212440 -454.3212440 [6,] -20 -203.9171554 -203.9171554 [7,] -10 -53.2312852 -53.2312852 [8,] 0 -0.6931472 -0.6931472 > > All.eq(pz, plnorm(exp(z))) [1] TRUE > > > ###========== p <-> q Inversion consistency ===================== > ok <- 1e-5 < pz & pz < 1 - 1e-5 > all.equal(z[ok], qnorm(pz[ok]), tol= 1e-12) [1] TRUE > > ## The prefixes of ALL the PDQ & R functions > PDQR <- c("beta", "binom", "cauchy", "chisq", "exp", "f", + "gamma", "geom", "hyper", "lnorm", "logis", "nbinom","norm", + "pois","signrank","t","unif","weibull","wilcox") > PQonly <- c("tukey") > > ###===== Random numbers -- first, just output: > > .Random.seed <- c(0, 17292, 29447, 24113) > n <- 20 > ## for(pre in PDQR) { n <- paste("r",pre,sep=""); cat(n,": "); str(get(n))} > (Rbeta <- rbeta (n, shape1 = .8, shape2 = 2) ) [1] 0.0009459396 0.0749569119 0.7969897349 0.1173196499 0.2400710007 [6] 0.1318767829 0.8277537923 0.0359498142 0.2403329282 0.0372784791 [11] 0.3759311413 0.3581043996 0.2895229973 0.6005864534 0.1833902168 [16] 0.1198140580 0.0706071423 0.0308280998 0.3591918485 0.4281862391 > (Rbinom <- rbinom (n, size = 55, prob = pi/16) ) [1] 12 10 11 13 16 6 5 12 13 9 17 12 14 5 5 13 10 12 16 6 > (Rcauchy <- rcauchy (n, location = 12, scale = 2) ) [1] 34.263018 12.540399 16.802259 11.789490 14.154479 10.462895 12.540308 [8] 12.876666 12.537513 11.977077 11.807015 12.481572 11.954381 10.884467 [15] 9.516357 12.935321 10.946190 14.864709 7.898369 12.782296 > (Rchisq <- rchisq (n, df = 3) ) [1] 4.1802057 2.2410473 8.3668743 0.7165071 4.6012338 0.7650135 2.1202187 [8] 0.2898359 0.7288776 2.9159575 3.6549180 0.5587417 4.9140095 7.3809424 [15] 5.6769453 4.9920360 0.6435048 1.1676611 3.5323618 1.6709330 > (Rexp <- rexp (n, rate = 2) ) [1] 0.07333367 2.13910864 1.32756654 0.11396374 0.07688834 1.38460882 [7] 0.55605730 0.34815444 0.72538091 0.76093410 0.51832937 0.94396435 [13] 0.11381630 0.65756405 0.29282882 0.04916325 0.18753254 0.76833277 [19] 1.01917017 2.40313307 > (Rf <- rf (n, df1 = 12, df2 = 6) ) [1] 1.0482995 7.1506346 0.6029385 2.0461847 1.1851525 4.3366766 0.9365564 [8] 1.2584864 0.4850872 1.4162343 1.3338440 1.1810704 0.7064808 0.5176781 [15] 2.1632007 2.9753123 1.2178294 1.7130207 0.5469131 0.1313706 > (Rgamma <- rgamma (n, shape = 2, scale = 5) ) [1] 3.9092623 21.6048906 11.5498513 11.1312817 4.6122029 14.6707798 [7] 0.9007555 18.9112724 9.4168271 30.4501082 4.5755714 3.2193519 [13] 24.5309039 5.2340905 14.5772699 1.0665363 11.3585753 8.7876520 [19] 8.0414810 14.5654162 > (Rgeom <- rgeom (n, prob = pi/16) ) [1] 4 2 5 1 10 0 0 1 0 17 0 3 1 3 3 6 0 0 2 1 > (Rhyper <- rhyper (n, m = 40, n = 30, k = 20) ) [1] 16 11 11 15 11 13 13 12 13 10 10 7 11 14 13 9 14 13 13 11 > (Rlnorm <- rlnorm (n, meanlog = -1, sdlog = 3) ) [1] 2.210483e-01 1.713584e-01 2.116665e+00 8.205068e+01 3.111700e+00 [6] 1.883586e+00 4.389370e+00 7.965253e-04 3.287647e-01 4.398008e-01 [11] 3.554842e+00 5.186465e-01 2.313136e+00 2.371949e-01 4.293877e-01 [16] 6.577897e-02 2.645768e-01 9.650592e-02 3.650006e-01 7.501445e-02 > (Rlogis <- rlogis (n, location = 12, scale = 2) ) [1] 17.000716 14.220747 22.693644 13.270882 4.748890 16.217577 12.780626 [8] 8.498878 8.300536 9.565866 13.896595 14.425404 17.849150 8.886460 [15] 9.756902 13.182288 15.045885 15.877290 14.773741 9.637214 > (Rnbinom <- rnbinom (n, size = 7, prob = .01) ) [1] 739 668 724 609 1052 404 660 381 321 839 901 292 572 684 883 [16] 1133 503 241 686 787 > (Rnorm <- rnorm (n, mean = -1, sd = 3) ) [1] -0.61029370 2.35074871 2.49862518 0.28586195 1.56824133 4.02175812 [7] -3.40412993 -2.65797756 -0.49471250 -1.78043063 -0.54327159 4.38579193 [13] 0.90049087 -0.06666040 -0.03921922 4.00360536 2.36688992 1.44720283 [19] 1.12529029 0.14489413 > (Rpois <- rpois (n, lambda = 12) ) [1] 11 14 13 7 12 9 19 8 9 12 10 17 11 13 11 12 14 8 6 14 > (Rsignrank<- rsignrank(n, n = 47) ) [1] 521 680 465 368 636 497 560 439 541 462 459 595 542 699 725 563 419 508 774 [20] 496 > (Rt <- rt (n, df = 11) ) [1] -1.73939322 -0.53416778 1.61643746 -0.09307946 0.19731802 0.13339707 [7] -0.99463560 -1.49665151 1.44899521 -0.72605060 -0.52184248 1.62334863 [13] -1.07413952 0.18925757 -0.08940649 -0.90018242 -0.61911928 1.17444416 [19] -1.06421053 -0.77380129 > (Runif <- runif (n, min = .2, max = 2) ) [1] 1.8416169 0.4703079 0.6841623 0.5048212 1.5620335 0.2738142 1.1573172 [8] 0.3854089 1.0601866 1.9827946 0.7149722 1.3607511 1.3590662 1.3110552 [15] 1.5017535 1.0945284 1.7290782 0.6057555 1.7500334 1.7121475 > (Rweibull <- rweibull (n, shape = 3, scale = 2) ) [1] 1.512345 2.645024 1.458062 2.484227 1.263118 2.081812 1.058986 1.104576 [9] 1.644986 1.985632 2.127461 2.058949 2.524137 1.716619 1.875699 1.433992 [17] 2.362451 2.861329 2.150789 1.239032 > (Rwilcox <- rwilcox (n, m = 13, n = 17) ) [1] 133 103 103 62 117 108 96 102 118 115 110 92 139 126 77 65 127 72 139 [20] 124 > > (Pbeta <- pbeta (Rbeta, shape1 = .8, shape2 = 2) ) [1] 0.00685142 0.21898139 0.96943981 0.30726448 0.51350239 0.33510112 [7] 0.97810553 0.12383254 0.51388356 0.12740407 0.68542852 0.66557175 [13] 0.58183279 0.87756637 0.42564683 0.31211434 0.20917242 0.10975854 [19] 0.66680467 0.73943522 > (Pbinom <- pbinom (Rbinom, size = 55, prob = pi/16) ) [1] 0.72571464 0.47335812 0.60646826 0.82208269 0.96870000 0.06545671 [7] 0.02841293 0.72571464 0.82208269 0.34018132 0.98484929 0.72571464 [13] 0.89271720 0.02841293 0.02841293 0.82208269 0.47335812 0.72571464 [19] 0.96870000 0.06545671 > (Pcauchy <- pcauchy (Rcauchy, location = 12, scale = 2) ) [1] 0.9714812 0.5840012 0.8743873 0.4666191 0.7618305 0.2914213 0.5839878 [8] 0.6314968 0.5835731 0.4963519 0.4693803 0.5752128 0.4927407 0.3380482 [15] 0.2157967 0.6392424 0.3456390 0.8059952 0.1444131 0.6186825 > (Pchisq <- pchisq (Rchisq, df = 3) ) [1] 0.75734885 0.47609135 0.96099212 0.13068538 0.79656374 0.14218428 [7] 0.45216677 0.03807139 0.13360847 0.59523480 0.69878142 0.09419094 [13] 0.82179683 0.93930223 0.87156985 0.82761876 0.11359536 0.23922949 [19] 0.68341090 0.35658474 > (Pexp <- pexp (Rexp, rate = 2) ) [1] 0.13641880 0.98613264 0.92971052 0.20381800 0.14253652 0.93728895 [7] 0.67113719 0.50157835 0.76560834 0.78169633 0.64536236 0.84861495 [13] 0.20358320 0.73156007 0.44326040 0.09364707 0.31275544 0.78490286 [19] 0.86975531 0.99182166 > (Pf <- pf (Rf, df1 = 12, df2 = 6) ) [1] 0.493968892 0.987819917 0.214465434 0.804851021 0.560142915 0.958476676 [7] 0.432468011 0.591675896 0.134821391 0.651135448 0.621437022 0.558309651 [13] 0.285976592 0.156229064 0.823256086 0.904828024 0.574518093 0.737314198 [19] 0.175931308 0.001535476 > (Pgamma <- pgamma (Rgamma, shape = 2, scale = 5) ) [1] 0.18469983 0.92930080 0.67143844 0.65178456 0.23573834 0.79079896 [7] 0.01440388 0.89110187 0.56150517 0.98393855 0.23305255 0.13654797 [13] 0.95629013 0.28145838 0.78786294 0.01975953 0.66257119 0.52440798 [19] 0.47774483 0.78748817 > (Pgeom <- pgeom (Rgeom, prob = pi/16) ) [1] 0.6647753 0.4809591 0.7305965 0.3541459 0.9096893 0.1963495 0.1963495 [8] 0.3541459 0.1963495 0.9804472 0.1963495 0.5828725 0.3541459 0.5828725 [15] 0.5828725 0.7834938 0.1963495 0.1963495 0.4809591 0.3541459 > (Phyper <- phyper (Rhyper, m = 40, n = 30, k = 20) ) [1] 0.99744478 0.51295659 0.51295659 0.98680472 0.51295659 0.86627413 [7] 0.86627413 0.71494883 0.86627413 0.30864260 0.30864260 0.01796063 [13] 0.51295659 0.95139461 0.86627413 0.15132082 0.95139461 0.86627413 [19] 0.86627413 0.51295659 > (Plnorm <- plnorm (Rlnorm, meanlog = -1, sdlog = 3) ) [1] 0.43258714 0.39949055 0.72014780 0.96426235 0.76168186 0.70691429 [7] 0.79571003 0.02042329 0.48505472 0.52373190 0.77520644 0.54557496 [13] 0.73001823 0.44184582 0.52055037 0.28304536 0.45625441 0.32778045 [19] 0.49895528 0.29804735 > (Plogis <- plogis (Rlogis, location = 12, scale = 2) ) [1] 0.92416690 0.75219874 0.99525932 0.65372216 0.02594333 0.89175446 [7] 0.59635809 0.14797648 0.13590439 0.22845301 0.72077271 0.77077670 [13] 0.94904799 0.17411062 0.24572404 0.64362757 0.82097136 0.87420320 [19] 0.80009214 0.23480185 > (Pnbinom <- pnbinom (Rnbinom, size = 7, prob = .01) ) [1] 0.61736655 0.51299455 0.59632006 0.41950678 0.90402573 0.12140233 [7] 0.50057859 0.09750529 0.04876502 0.74086686 0.80178090 0.03225449 [13] 0.35983768 0.53748456 0.78532898 0.93731909 0.25190327 0.01316344 [19] 0.54051099 0.68045166 > (Pnorm <- pnorm (Rnorm, mean = -1, sd = 3) ) [1] 0.5516781 0.8679849 0.8782349 0.6659003 0.8040234 0.9529268 0.2114568 [8] 0.2902484 0.5668772 0.3973765 0.5605023 0.9636942 0.7367954 0.6221427 [15] 0.6256145 0.9523291 0.8691318 0.7926739 0.7606609 0.6486326 > (Ppois <- ppois (Rpois, lambda = 12) ) [1] 0.46159733 0.77202453 0.68153563 0.08950450 0.57596525 0.24239216 [7] 0.97872023 0.15502778 0.24239216 0.57596525 0.34722942 0.93703370 [13] 0.46159733 0.68153563 0.46159733 0.57596525 0.77202453 0.15502778 [19] 0.04582231 0.77202453 > (Psignrank<- psignrank(Rsignrank, n = 47) ) [1] 0.32789203 0.89007439 0.15011688 0.01887176 0.77676020 0.24256054 [7] 0.48536796 0.09474662 0.40676506 0.14282568 0.13577317 0.62940572 [13] 0.41083885 0.92356606 0.95623357 0.49790926 0.06352849 0.28016760 [19] 0.98752692 0.23928001 > (Pt <- pt (Rt, df = 11) ) [1] 0.05491642 0.30192660 0.93285384 0.46375705 0.57641129 0.55185574 [7] 0.17064488 0.08130751 0.91237971 0.24148527 0.30606307 0.93360050 [13] 0.15287884 0.57333111 0.46518298 0.19365307 0.27422273 0.86749203 [19] 0.15501842 0.22767857 > (Punif <- punif (Runif, min = .2, max = 2) ) [1] 0.91200940 0.15017105 0.26897908 0.16934513 0.75668526 0.04100786 [7] 0.53184287 0.10300496 0.47788145 0.99044142 0.28609568 0.64486175 [13] 0.64392568 0.61725289 0.72319637 0.49696022 0.84948787 0.22541974 [19] 0.86112968 0.84008195 > (Pweibull <- pweibull (Rweibull, shape = 3, scale = 2) ) [1] 0.3510356 0.9010483 0.3212279 0.8528629 0.2226838 0.6762575 0.1379570 [8] 0.1550349 0.4267381 0.6241639 0.6998987 0.6641379 0.8660439 0.4686384 [15] 0.5617197 0.3082951 0.8075955 0.9465114 0.7116742 0.2116163 > (Pwilcox <- pwilcox (Rwilcox, m = 13, n = 17) ) [1] 0.82946462 0.38647276 0.38647276 0.02165645 0.61352724 0.46716310 [7] 0.28170171 0.37078117 0.62921883 0.58162230 0.50000000 0.22852300 [13] 0.88566977 0.74559308 0.08487632 0.02943715 0.75871780 0.05633406 [19] 0.88566977 0.71829829 > > dbeta (Rbeta, shape1 = .8, shape2 = 2) [1] 5.7913365 2.2364651 0.3059074 1.9511551 1.4556855 1.8746068 0.2575917 [8] 2.6997454 1.4548665 2.6765264 1.0928822 1.1350760 1.3109191 0.6368984 [15] 1.6508280 1.9374717 2.2740086 2.7988135 1.1324661 0.9756421 > dbinom (Rbinom, size = 55, prob = pi/16) [1] 0.11924639 0.13317680 0.13311013 0.09636804 0.02881210 0.03704378 [7] 0.01819424 0.11924639 0.09636804 0.11849719 0.01614929 0.11924639 [13] 0.07063452 0.01819424 0.01819424 0.09636804 0.13317680 0.11924639 [19] 0.02881210 0.03704378 > dcauchy (Rcauchy, location = 12, scale = 2) [1] 0.001274152 0.148326009 0.023524757 0.157411041 0.073667654 0.100055114 [7] 0.148329389 0.133504054 0.148433568 0.159134039 0.157686757 0.150433150 [13] 0.159072180 0.121390049 0.062607155 0.130593337 0.124570555 0.052153921 [19] 0.030572357 0.138035910 > dchisq (Rchisq, df = 3) [1] 0.10087621 0.19475936 0.01759333 0.23601129 0.08574365 0.23802581 [7] 0.20123372 0.18580144 0.23657215 0.15852893 0.12265734 0.22552069 [13] 0.07578172 0.02705295 0.05562044 0.07345850 0.23198007 0.24044408 [19] 0.12820355 0.22364083 > dexp (Rexp, rate = 2) [1] 1.72716241 0.02773472 0.14057897 1.59236400 1.71492696 0.12542210 [7] 0.65772563 0.99684330 0.46878331 0.43660735 0.70927528 0.30277010 [13] 1.59283360 0.53687987 1.11347921 1.81270585 1.37448911 0.43019428 [19] 0.26048939 0.01635668 > df (Rf, df1 = 12, df2 = 6) [1] 0.519937867 0.004371848 0.692823649 0.167468952 0.448061444 0.022237248 [7] 0.580744146 0.412297607 0.645723076 0.343445106 0.377992320 0.450116704 [13] 0.682397435 0.666844216 0.147593859 0.066212131 0.431848359 0.243311742 [19] 0.680166477 0.051540741 > dgamma (Rgamma, shape = 2, scale = 5) [1] 0.071548510 0.011482464 0.045859471 0.048056741 0.073342809 0.031205091 [7] 0.030090422 0.017225367 0.057283478 0.002759218 0.073295320 0.067639298 [13] 0.007261834 0.073497725 0.031591526 0.034466522 0.046858733 0.060624349 [19] 0.064405338 0.031640760 > dgeom (Rgeom, prob = pi/16) [1] 0.081902787 0.126813148 0.065821212 0.157796399 0.022064895 0.196349541 [7] 0.196349541 0.157796399 0.196349541 0.004777187 0.196349541 0.101913445 [13] 0.157796399 0.101913445 0.101913445 0.052897247 0.196349541 0.196349541 [19] 0.126813148 0.157796399 > dhyper (Rhyper, m = 40, n = 30, k = 20) [1] 0.01064006 0.20431399 0.20431399 0.03541012 0.20431399 0.15132529 [7] 0.15132529 0.20199224 0.15132529 0.15732178 0.15732178 0.01379223 [13] 0.20431399 0.08512048 0.15132529 0.09227084 0.08512048 0.15132529 [19] 0.15132529 0.20431399 > dlnorm (Rlnorm, meanlog = -1, sdlog = 3) [1] 5.929818e-01 7.512774e-01 5.299802e-02 3.193275e-04 3.317380e-02 [6] 6.087639e-02 2.153230e-02 2.062527e+01 4.042023e-01 3.018308e-01 [11] 2.810781e-02 2.547247e-01 4.764589e-02 5.546720e-01 3.092876e-01 [16] 1.714756e+00 4.995922e-01 1.247473e+00 3.643290e-01 1.540428e+00 > dlogis (Rlogis, location = 12, scale = 2) [1] 0.035041221 0.093197897 0.002359104 0.113184749 0.012635138 0.048264223 [7] 0.120357559 0.063039721 0.058717192 0.088131115 0.100629705 0.088339990 [13] 0.024177951 0.071898055 0.092671867 0.114685561 0.073488693 0.054985983 [19] 0.079972353 0.089834971 > dnbinom (Rnbinom, size = 7, prob = .01) [1] 0.0013843572 0.0015461270 0.0014240958 0.0016111183 0.0004916298 [6] 0.0010965512 0.0015593115 0.0009750548 0.0006438980 0.0010814585 [11] 0.0008880238 0.0004914120 0.0016079010 0.0015162429 0.0009432177 [16] 0.0003394350 0.0014949693 0.0002632443 0.0015121979 0.0012444310 > dnorm (Rnorm, mean = -1, sd = 3) [1] 0.13186348 0.07126843 0.06736890 0.12130968 0.09218225 0.03275978 [7] 0.09645747 0.11414715 0.13110785 0.12855632 0.13144855 0.02654173 [13] 0.10880369 0.12669831 0.12633298 0.03309267 0.07084041 0.09534418 [19] 0.10346857 0.12364112 > dpois (Rpois, lambda = 12) [1] 0.11436792 0.09048890 0.10557038 0.04368219 0.11436792 0.08736438 [7] 0.01613672 0.06552328 0.08736438 0.11436792 0.10483726 0.03832471 [13] 0.11436792 0.10557038 0.11436792 0.11436792 0.09048890 0.06552328 [19] 0.02548128 0.09048890 > dsignrank(Rsignrank, n = 47) [1] 0.0037844241 0.0020112978 0.0024569596 0.0004983669 0.0031591482 [6] 0.0032805288 0.0041778794 0.0017851857 0.0040639142 0.0023773231 [11] 0.0022979400 0.0039702993 0.0040737886 0.0015466398 0.0010084031 [16] 0.0041812581 0.0013244780 0.0035300054 0.0003600738 0.0032566009 > dt (Rt, df = 11) [1] 0.09076142 0.33444332 0.10857032 0.38815185 0.38180921 0.38622576 [7] 0.23261963 0.12825909 0.13672995 0.29449489 0.33676702 0.10750499 [13] 0.21435914 0.38245649 0.38829368 0.25458773 0.31753985 0.19196797 [19] 0.21661975 0.28375142 > dunif (Runif, min = .2, max = 2) [1] 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 [8] 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 [15] 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 0.5555556 > dweibull (Rweibull, shape = 3, scale = 2) [1] 0.5566140 0.2596054 0.5411369 0.3405149 0.4650686 0.5261555 0.3625272 [8] 0.3865994 0.5817133 0.5556831 0.5093571 0.5339287 0.3200512 0.5871773 [15] 0.5782419 0.5333911 0.4026909 0.1642208 0.5001614 0.4538727 > dwilcox (Rwilcox, m = 13, n = 17) [1] 0.010799421 0.015691594 0.015691594 0.002185415 0.015873676 0.016351073 [7] 0.013817085 0.015486075 0.015691594 0.016163798 0.016431951 0.012383032 [13] 0.008348499 0.013477697 0.006413577 0.002809857 0.013124724 0.004704515 [19] 0.008348499 0.014141025 > > ## Check q*(p*(.)) = identity > All.eq(Rbeta, qbeta (Pbeta, shape1 = .8, shape2 = 2)) [1] TRUE > All.eq(Rbinom, qbinom (Pbinom, size = 55, prob = pi/16)) [1] TRUE > All.eq(Rcauchy, qcauchy (Pcauchy, location = 12, scale = 2)) [1] TRUE > All.eq(Rchisq, qchisq (Pchisq, df = 3)) [1] TRUE > All.eq(Rexp, qexp (Pexp, rate = 2)) [1] TRUE > All.eq(Rf, qf (Pf, df1 = 12, df2 = 6)) [1] TRUE > All.eq(Rgamma, qgamma (Pgamma, shape = 2, scale = 5)) [1] TRUE > All.eq(Rgeom, qgeom (Pgeom, prob = pi/16)) [1] TRUE > All.eq(Rhyper, qhyper (Phyper, m = 40, n = 30, k = 20)) [1] TRUE > All.eq(Rlnorm, qlnorm (Plnorm, meanlog = -1, sdlog = 3)) [1] TRUE > All.eq(Rlogis, qlogis (Plogis, location = 12, scale = 2)) [1] TRUE > All.eq(Rnbinom, qnbinom (Pnbinom, size = 7, prob = .01)) [1] TRUE > All.eq(Rnorm, qnorm (Pnorm, mean = -1, sd = 3)) [1] TRUE > All.eq(Rpois, qpois (Ppois, lambda = 12)) [1] TRUE > All.eq(Rsignrank, qsignrank(Psignrank, n = 47)) [1] TRUE > all.equal( Rt, qt (Pt, df = 11), tol = 1e-7 )## !! (386-lx:2.48e-9) [1] TRUE > All.eq(Runif, qunif (Punif, min = .2, max = 2)) [1] TRUE > All.eq(Rweibull, qweibull (Pweibull, shape = 3, scale = 2)) [1] TRUE > All.eq(Rwilcox, qwilcox (Pwilcox, m = 13, n = 17)) [1] TRUE > > ## Same with "upper tail": > All.eq(Rbeta, qbeta (1- Pbeta, shape1 = .8, shape2 = 2, lower=F)) [1] TRUE > All.eq(Rbinom, qbinom (1- Pbinom, size = 55, prob = pi/16, lower=F)) [1] TRUE > All.eq(Rcauchy, qcauchy (1- Pcauchy, location = 12, scale = 2, lower=F)) [1] TRUE > All.eq(Rchisq, qchisq (1- Pchisq, df = 3, lower=F)) [1] TRUE > All.eq(Rexp, qexp (1- Pexp, rate = 2, lower=F)) [1] TRUE > All.eq(Rf, qf (1- Pf, df1 = 12, df2 = 6, lower=F)) [1] TRUE > All.eq(Rgamma, qgamma (1- Pgamma, shape = 2, scale = 5, lower=F)) [1] TRUE > All.eq(Rgeom, qgeom (1- Pgeom, prob = pi/16, lower=F)) [1] TRUE > All.eq(Rhyper, qhyper (1- Phyper, m = 40, n = 30, k = 20, lower=F)) [1] TRUE > All.eq(Rlnorm, qlnorm (1- Plnorm, meanlog = -1, sdlog = 3, lower=F)) [1] TRUE > All.eq(Rlogis, qlogis (1- Plogis, location = 12, scale = 2, lower=F)) [1] TRUE > All.eq(Rnbinom, qnbinom (1- Pnbinom, size = 7, prob = .01, lower=F)) [1] TRUE > All.eq(Rnorm, qnorm (1- Pnorm, mean = -1, sd = 3,lower=F)) [1] TRUE > All.eq(Rpois, qpois (1- Ppois, lambda = 12, lower=F)) [1] TRUE > All.eq(Rsignrank, qsignrank(1- Psignrank, n = 47, lower=F)) [1] TRUE > all.equal(Rt, qt (1- Pt, df = 11, lower=F), tol = 1e-7) [1] TRUE > All.eq(Runif, qunif (1- Punif, min = .2, max = 2, lower=F)) [1] TRUE > All.eq(Rweibull, qweibull (1- Pweibull, shape = 3, scale = 2, lower=F)) [1] TRUE > All.eq(Rwilcox, qwilcox (1- Pwilcox, m = 13, n = 17, lower=F)) [1] TRUE > > ## Check q*(p* ( log ), log) = identity > All.eq(Rbeta, qbeta (log(Pbeta), shape1 = .8, shape2 = 2, log=TRUE)) [1] TRUE > All.eq(Rbinom, qbinom (log(Pbinom), size = 55, prob = pi/16, log=TRUE)) [1] TRUE > All.eq(Rcauchy, qcauchy (log(Pcauchy), location = 12, scale = 2, log=TRUE)) [1] TRUE > all.equal(Rchisq, qchisq (log(Pchisq), df = 3, log=TRUE),tol=1e-14) [1] TRUE > All.eq(Rexp, qexp (log(Pexp), rate = 2, log=TRUE)) [1] TRUE > All.eq(Rf, qf (log(Pf), df1= 12, df2= 6, log=TRUE)) [1] TRUE > All.eq(Rgamma, qgamma (log(Pgamma), shape = 2, scale = 5, log=TRUE)) [1] TRUE > All.eq(Rgeom, qgeom (log(Pgeom), prob = pi/16, log=TRUE)) [1] TRUE > All.eq(Rhyper, qhyper (log(Phyper), m = 40, n = 30, k = 20, log=TRUE)) [1] TRUE > All.eq(Rlnorm, qlnorm (log(Plnorm), meanlog = -1, sdlog = 3, log=TRUE)) [1] TRUE > All.eq(Rlogis, qlogis (log(Plogis), location = 12, scale = 2, log=TRUE)) [1] TRUE > All.eq(Rnbinom, qnbinom (log(Pnbinom), size = 7, prob = .01, log=TRUE)) [1] TRUE > All.eq(Rnorm, qnorm (log(Pnorm), mean = -1, sd = 3, log=TRUE)) [1] TRUE > All.eq(Rpois, qpois (log(Ppois), lambda = 12, log=TRUE)) [1] TRUE > All.eq(Rsignrank, qsignrank(log(Psignrank), n = 47, log=TRUE)) [1] TRUE > all.equal(Rt, qt (log(Pt), df = 11, log=TRUE), tol = 1e-7) [1] TRUE > All.eq(Runif, qunif (log(Punif), min = .2, max = 2, log=TRUE)) [1] TRUE > All.eq(Rweibull, qweibull (log(Pweibull), shape = 3, scale = 2, log=TRUE)) [1] TRUE > All.eq(Rwilcox, qwilcox (log(Pwilcox), m = 13, n = 17, log=TRUE)) [1] TRUE > > ## same q*(p* (log) log) with upper tail: > > All.eq(Rbeta, qbeta (log(1- Pbeta), shape1 = .8, shape2 = 2, lower=F, log=T)) [1] TRUE > All.eq(Rbinom, qbinom (log(1- Pbinom), size = 55, prob = pi/16, lower=F, log=T)) [1] TRUE > All.eq(Rcauchy, qcauchy (log(1- Pcauchy), location = 12, scale = 2, lower=F, log=T)) [1] TRUE > All.eq(Rchisq, qchisq (log(1- Pchisq), df = 3, lower=F, log=T)) [1] TRUE > All.eq(Rexp, qexp (log(1- Pexp), rate = 2, lower=F, log=T)) [1] TRUE > All.eq(Rf, qf (log(1- Pf), df1 = 12, df2 = 6, lower=F, log=T)) [1] TRUE > All.eq(Rgamma, qgamma (log(1- Pgamma), shape = 2, scale = 5, lower=F, log=T)) [1] TRUE > All.eq(Rgeom, qgeom (log(1- Pgeom), prob = pi/16, lower=F, log=T)) [1] TRUE > All.eq(Rhyper, qhyper (log(1- Phyper), m = 40, n = 30, k = 20, lower=F, log=T)) [1] TRUE > All.eq(Rlnorm, qlnorm (log(1- Plnorm), meanlog = -1, sdlog = 3, lower=F, log=T)) [1] TRUE > All.eq(Rlogis, qlogis (log(1- Plogis), location = 12, scale = 2, lower=F, log=T)) [1] TRUE > All.eq(Rnbinom, qnbinom (log(1- Pnbinom), size = 7, prob = .01, lower=F, log=T)) [1] TRUE > All.eq(Rnorm, qnorm (log(1- Pnorm), mean = -1, sd = 3, lower=F, log=T)) [1] TRUE > All.eq(Rpois, qpois (log(1- Ppois), lambda = 12, lower=F, log=T)) [1] TRUE > All.eq(Rsignrank, qsignrank(log(1- Psignrank), n = 47, lower=F, log=T)) [1] TRUE > all.equal(Rt, qt (log(1- Pt), df = 11, lower=F, log=T), tol = 1e-7)#ok{prec.} [1] TRUE > All.eq(Runif, qunif (log(1- Punif), min = .2, max = 2, lower=F, log=T)) [1] TRUE > All.eq(Rweibull, qweibull (log(1- Pweibull), shape = 3, scale = 2, lower=F, log=T)) [1] TRUE > All.eq(Rwilcox, qwilcox (log(1- Pwilcox), m = 13, n = 17, lower=F, log=T)) [1] TRUE > > > ## Check log( upper.tail ): > All.eq(log(1 - Pbeta), pbeta (Rbeta, shape1 = .8, shape2 = 2, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pbinom), pbinom (Rbinom, size = 55, prob = pi/16, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pcauchy), pcauchy (Rcauchy, location = 12, scale = 2, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pchisq), pchisq (Rchisq, df = 3, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pexp), pexp (Rexp, rate = 2, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pf), pf (Rf, df1 = 12, df2 = 6, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pgamma), pgamma (Rgamma, shape = 2, scale = 5, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pgeom), pgeom (Rgeom, prob = pi/16, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Phyper), phyper (Rhyper, m = 40, n = 30, k = 20, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Plnorm), plnorm (Rlnorm, meanlog = -1, sdlog = 3, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Plogis), plogis (Rlogis, location = 12, scale = 2, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pnbinom), pnbinom (Rnbinom, size = 7, prob = .01, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pnorm), pnorm (Rnorm, mean = -1, sd = 3, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Ppois), ppois (Rpois, lambda = 12, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Psignrank), psignrank(Rsignrank, n = 47, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pt), pt (Rt, df = 11, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Punif), punif (Runif, min = .2, max = 2, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pweibull), pweibull (Rweibull, shape = 3, scale = 2, lower=F, log=T)) [1] TRUE > All.eq(log(1 - Pwilcox), pwilcox (Rwilcox, m = 13, n = 17, lower=F, log=T)) [1] TRUE > > cat("Time elapsed: ", proc.time() - .ptime,"\n") Time elapsed: 7.5 0.23 7.73 0 0 >