## NOTE: Each section's example is intended to be standalone. ## Make sure to run the entire example of a section so as to ## redefine certain quantities that are used multiple times, ## such as "x" and "out". ## PRECURSOR: Load in the tolerance package library("tolerance") ################################################################### ## CHAPTER 3: TOLERANCE INTERVAL FOR DISCRETE DISTRIBUTIONS ################################################################### ## SECTION 3.1: Binomaial Tolerance Inteval Example bintol.int(x = 10, n = 1000, m = 50, alpha = 0.05, P = 0.95, side = 1, method = "LS") ## SECTION 3.2: Poisson Tolerance Interval Example poistol.int(x = 45, n = 9, m = 3, alpha = 0.05, P = 0.90, side = 1, method = "LS") ## SECTION 3.3: Acceptance Limit Example acc.samp(n = 450, N = 960, alpha = 0.10, P = 0.90, AQL = 0.07, RQL = 0.10) ################################################################### ## CHAPTER 4: TOLERANCE INTERVAL FOR CONTINUOUS DISTRIBUTIONS ################################################################### ## SECTION 4.1: Cauchy Tolerance Inteval Example set.seed(100) x <- rcauchy(1e3, 1e5, 10) out <- cautol.int(x = x, alpha = 0.05, P = 0.90, side = 2) out plottol(out, x = x, plot.type = "both", side = "two", x.lab = "Cauchy Data", lty = 0) ## SECTION 4.2: Exponential Tolerance Inteval Example set.seed(100) x <- rexp(100, 0.004) out <- exptol.int(x = x, alpha = 0.05, P = 0.90, side = 1, type.2 = FALSE) out plottol(out, x = x, plot.type = "both", side = "upper", x.lab = "Exponential Data", lty = "dashed") ## SECTION 4.3: (2-Parameter) Exponential Tolerance Inteval Example set.seed(100) x <- r2exp(50, rate = 6, shift = 55) out <- exp2tol.int(x = x, alpha = 0.05, P = 0.90, side = 1, method = "DUN", type.2 = FALSE) out plottol(out, x = x, plot.type = "both", side = "upper", x.lab = "2-Parameter Exponential Data", lty = 0) ## SECTION 4.4: Gamma Tolerance Inteval Example set.seed(100) x <- rgamma(50, shape = 0.30, scale = 2) out <- gamtol.int(x = x, alpha = 0.01, P = 0.99, side = 1, method = "HE", log.gamma = FALSE) out plottol(out, x = x, plot.type = "both", side = "upper", x.lab = "Gamma Data") ## SECTION 4.5: Laplace Tolerance Inteval Example set.seed(100) tmp <- runif(40) x <- rep(70, 40) - sign(tmp - 0.5)*rep(3, 40)* log(2*ifelse(tmp < 0.5, tmp, 1 - tmp)) out <- laptol.int(x = x, alpha = 0.05, P = 0.90) out plottol(out, x = x, plot.type = "both", side = "lower", x.lab = "Laplace Data", lty = "dashed", col = "gray") ## SECTION 4.6: Logistic Tolerance Inteval Example set.seed(100) x <- rlogis(20, 5, 1) out <- logistol.int(x = x, alpha = 0.10, P = 0.95, log.log = FALSE) out plottol(out, x = x, plot.type = "both", side = "lower", x.lab = "Logistic Data", lty = "dashed", col = "gray") ## SECTION 4.7: Nonparametric Tolerance Inteval Example set.seed(100) x <- rlogis(20, 5, 1) out <- nptol.int(x = x, alpha = 0.10, P = 0.95, side = 1, method = "WILKS", upper = NULL, lower = NULL) out plottol(out, x = x, plot.type = "both", side = "lower", x.lab = "Data", lty = "dashed", col = "gray") ## SECTION 4.8: (Univariate) Normal Tolerance Inteval Example set.seed(100) x <- rnorm(100, 0, 0.2) out <- normtol.int(x = x, alpha = 0.05, P = 0.95, side = 2, method = "HE", log.norm = FALSE) out plottol(out, x = x, plot.type = "both", side = "two", x.lab = "Normal Data") ## SECTION 4.9: (Multivariate) Normal Tolerance Region Examples ## Bivariate Normal Example set.seed(100) x1 <- rnorm(100, 0, 0.2) x2 <- rnorm(100, 0, 0.5) x <- cbind(x1, x2) out <- mvtol.region(x = x, alpha = 0.05, P = 0.95, B = 10000) out plottol(out, x) ## Trivariate Normal Example set.seed(100) x1 <- rnorm(150, 0, 1) x2 <- rnorm(150, 0, 1) x3 <- rnorm(150, 0, 1) Sig <- matrix(c(8.7, -3.2, 1.3, -3.2, 9.6, -3.1, 1.3, -3.1, 6.9), 3, 3) tmp <- eigen(Sig) Sig.5 <- cbind(tmp$vectors) %*% diag(sqrt(tmp$values)) %*% solve(cbind(tmp$vectors)) x <- t(Sig.5 %*% rbind(x1, x2, x3) + c(-7, 13, 20)) out1 <- mvtol.region(x = x, alpha = 0.05, P = 0.95, B = 10000) out1 plottol(out1, x) ## SECTION 4.10: Uniform Tolerance Interval Example set.seed(100) x <- runif(50, 0, 48) out <- uniftol.int(x = x, alpha = 0.05, P = 0.95, lower = 0) out plottol(out, x = x, plot.type = "both", side = "upper", x.lab = "Uniform Data") ## SECTION 4.11: Weibull and Extreme-Value Tolerance Interval Example set.seed(100) x <- rweibull(150, 3, 75) out <- exttol.int(x = x, alpha = 0.10, P = 0.90, dist = "Weibull", NR.delta = 1e-8) out plottol(out, x = x, plot.type = "both", side = "lower", x.lab = "Weibull Data", lty = "dashed", col = "gray") ################################################################### ## CHAPTER 5: REGRESSION TOLERANCE INTERVALS ################################################################### ## SECTION 5.1: Regression Example set.seed(100) x <- runif(100, 0, 10) y <- 20 + 5*x + rnorm(100, 0, 3) out <- regtol.int(reg = lm(y ~ x), new.x = NULL, alpha = 0.05, P = 0.95, side = 2) out[1:5, ] plottol(out, x = cbind(1, x), y = y, side = "two", x.lab = "X", y.lab = "Y") ## SECTION 5.2: Nonlinear Regression Example set.seed(100) x <- runif(50, 5, 45) f1 <- function(x, b1, b2) b1 + (0.49 - b1)*exp(-b2*(x - 8)) + rnorm(50, 0, 0.01) y <- f1(x, 0.39, 0.11) formula <- as.formula(y ~ b1 + (0.49 - b1)*exp(-b2*(x - 8))) out <- nlregtol.int(formula = formula, xy.data = data.frame(cbind(y, x)), x.new = NULL, side = 2, alpha = 0.05, P = 0.95) out[1:5, ] plottol(out, x = x, y = y, side = "two", x.lab = "X", y.lab = "Y") ## SECTION 5.3: Nonparametric Regression Example set.seed(100) x <- runif(50, 5, 45) f1 <- function(x, b1, b2) b1 + (0.49 - b1)*exp(-b2*(x - 8)) + rnorm(50, 0, 0.01) y <- f1(x, 0.39, 0.11) y.hat <- fitted(loess(y ~ x)) out <- npregtol.int(x = x, y = y, y.hat = y.hat, alpha = 0.05, P = 0.95, side = 2, method = "WILKS", upper = NULL, lower = NULL) out[1:5, ] plottol(out, x = x, y = y, y.hat = y.hat, side = "two", x.lab = "X", y.lab = "Y")