plotly_regtol | R Documentation |
Provides interactive tolerance intervals for regression data. More specifically, plotly_regtol
presents tolerance bounds for linear regression, nonlinear regression, and nonparametric regression models. In addtion, this updated function is capable of showing tolerance plane for trivariate regression models.
plotly_regtol(tol.out,
x,
new.x = NULL,
y,
side = c("two","upper", "lower"),
rect = FALSE,
smooth = 4,
x.lab = NULL,
x.lab.size = NULL,
y.lab = NULL,
y.lab.size = NULL,
z.lab = NULL,
z.lab.size = NULL,
x.tick.size = NULL,
y.tick.size = NULL,
z.tick.size = NULL,
x.col = NULL,
x.cex = NULL,
fit.col = NULL,
fit.lwd = NULL,
fit.line.type = c("dash","dot","dashdot","solid"),
fit.opacity = NULL,
tol.col = NULL,
tol.lwd = NULL,
tol.line.type = c("dash","dot","dashdot","solid"),
tol.opacity = NULL,
title.position.x = NULL,
title.position.y = NULL,
title = NULL,
title.size = NULL)
tol.out |
Output from |
x |
Data frame for explanatory variables. If there are more than one explanatory variables, columns of |
new.x |
An optional data frame in which to look for variables with which to predict. |
y |
Data frame for response variable. |
side |
|
rect |
This argument is used for plotting tolerance plane(s) of multivariate regression region. When |
smooth |
The smooth parameter for the x1-x2 plane when |
x.lab |
Label of the x-axis. |
x.lab.size |
Size of label of the x-axis. |
y.lab |
Label of the y-axis. |
y.lab.size |
Size of label of the y-axis. |
z.lab |
Label of the z-axis. |
z.lab.size |
Size of label of the z-axis. |
x.tick.size |
Size of tick marks on the x-axis. |
y.tick.size |
Size of tick marks on the y-axis. |
z.tick.size |
Size of tick marks on the z-axis. |
x.col |
Color of original data points. |
x.cex |
Size of original data points. |
fit.col |
Color of fitted line or fitted plane. |
fit.lwd |
Width of fitted line or fitted plane. |
fit.line.type |
Type of fitted line or fitted plane. |
fit.opacity |
Opacity of fitted line or fitted plane. |
tol.col |
Color of tolerance intervals or tolerance plane. |
tol.lwd |
Width of tolerance intervals. |
tol.line.type |
Line type of tolerance intervals |
tol.opacity |
Opacity of tolerance region. |
title.position.x |
Horizontal position of the title. |
title.position.y |
Vertical position of the title. |
title |
The main title on top of the plot. |
title.size |
Size of the title. |
plotly_regtol
returns tolerance intervals for linear regression, nonlinear regression, nonparametric regression, as well as tolerance planes for multivariate (multiple) linear regression models.
Montgomery, D. C. (2005), Introduction to Statistical Quality Control, Fifth Edition, John Wiley & Sons, Inc.
plottol
, regtol.int
, regtol.int
, nlregtol.int
,
npregtol.int
, npregtol.int
,mvregtol.region
## 95%/95% 1-sided linear regression tolerance bounds
## for a sample of size 100.
library(plotly)
set.seed(100)
x <- runif(100, 0, 10)
y <- 20 + 5*x + rnorm(100, 0, 3)
out1 <- regtol.int(reg = lm(y ~ x), new.x = c(3,6,20), new=TRUE ,
side = 1, alpha = 0.05, P = 0.95)
plotly_regtol(tol.out = out1 , x=x , y=y , new.x = c(6,20), side = "two" ,
fit.line.type = "dash" , tol.line.type = "solid")
########################
set.seed(100)
x1 <- runif(100, 0, 10)
x2 <- rpois(100 , 5)
y <- 20 + 5*x1 + 3*x2 + rnorm(100, 0, 3)
x1.new <- runif(10 , 0 , 10)
x2.new <- rpois(10 , 5)
out2 <- regtol.int(reg = lm(y ~ x1 + x2), new.x = cbind(x1.new , x2.new), new=TRUE,
side = 1, alpha = 0.05, P = 0.95)
plotly_regtol(tol.out = out2 , y=y , x=cbind(x1,x2) , new.x = cbind(x1.new , x2.new) ,
rect = TRUE , side = "two")
###########################
## 95%/95% 2-sided nonlinear regression tolerance bounds
## for a sample of size 50.
set.seed(100)
x <- runif(50, 5, 45)
f1 <- function(x, b1, b2) b1 + (0.49 - b1)*exp(-b2*(x - 8)) +
rnorm(50, sd = 0.01)
y <- f1(x, 0.39, 0.11)
formula <- as.formula(y ~ b1 + (0.49 - b1)*exp(-b2*(x - 8)))
out1 <- nlregtol.int(formula = formula,
xy.data = data.frame(cbind(y, x)),
x.new=c(10,20,50), side = 2,
alpha = 0.05, P = 0.95 , new = TRUE)
plotly_regtol(tol.out = out1 , x=x , y=y , new.x = c(20,50) , side = "two",
fit.line.type = "dot")
###############
## 95%/95% 1-sided nonparametric regression tolerance bounds
## for a sample of size 50.
set.seed(100)
x <- runif(50, 5, 45)
f1 <- function(x, b1, b2) b1 + (0.49 - b1)*exp(-b2*(x - 8)) + rnorm(50, sd = 0.01)
y <- f1(x, 0.39, 0.11)
y.hat <- loess(y~x)$fit
out1 <- npregtol.int(x = x, y = y, y.hat = y.hat, side = 1,
alpha = 0.05, P = 0.95, method = "WILKS" , new = TRUE)
plotly_regtol(tol.out = out1 , x=x , y=y , side = "two" , fit.line.type = "dash")
############
set.seed(100)
x1 <- runif(50, 5, 45)
x2 <- rnorm(50 , 0 , 1)
f1 <- function(x1 , x2 , b1, b2) {b1 + (0.49 - b1)*exp(-b2*(x1 + x2 - 8)) + rnorm(50, sd = 0.01)}
y <- f1(x1 , x2 , 0.39, 0.11)
y.hat <- loess(y~ x1 + x2)$fit
out2 <- npregtol.int(x = cbind(x1 , x2), y = y, y.hat = y.hat, side = 1,
alpha = 0.05, P = 0.95, method = "WILKS" , new = TRUE)
plotly_regtol(tol.out = out2 , y=y , x=cbind(x1,x2) ,
rect = TRUE , smooth = 100 , side = "two")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.