| makeTube {openintro} | R Documentation | 
Regression tube
Description
Produce a linear, quadratic, or nonparametric tube for regression data.
Usage
makeTube(
  x,
  y,
  Z = 2,
  R = 1,
  col = "#00000022",
  border = "#00000000",
  type = c("lin", "quad", "robust"),
  stDev = c("constant", "linear", "other"),
  length.out = 99,
  bw = "default",
  plotTube = TRUE,
  addLine = TRUE,
  ...
)
Arguments
| x | 
 | 
| y | 
 | 
| Z | Number of standard deviations out from the regression line to extend the tube. | 
| R | Control of how far the tube extends to the left and right. | 
| col | Fill color of the tube. | 
| border | Border color of the tube. | 
| type | The type of model fit to the data. Here  | 
| stDev | Choices are constant variance ( | 
| length.out | The number of observations used to build the regression model. This argument may be increased to increase the smoothing of a quadratic or nonparametric curve. | 
| bw | Bandwidth used if  | 
| plotTube | Whether the tube should be plotted. | 
| addLine | Whether the linear model should be plotted. | 
| ... | Additional arguments passed to the  | 
Value
| X | 
 | 
| Y | 
 | 
| tubeX | 
 | 
| tubeY | 
 | 
Author(s)
David Diez
See Also
Examples
# possum example
plot(possum$total_l, possum$head_l)
makeTube(possum$total_l, possum$head_l, 1)
makeTube(possum$total_l, possum$head_l, 2)
makeTube(possum$total_l, possum$head_l, 3)
# grades and TV example
plot(gradestv)
makeTube(gradestv$tv, gradestv$grades, 1.5)
plot(gradestv)
makeTube(gradestv$tv, gradestv$grades, 1.5, stDev = "o")
plot(gradestv)
makeTube(gradestv$tv, gradestv$grades, 1.5, type = "robust")
plot(gradestv)
makeTube(gradestv$tv, gradestv$grades, 1.5, type = "robust", stDev = "o")
# what can go wrong with a basic least squares model
# 1
x <- runif(100)
y <- 25 * x - 20 * x^2 + rnorm(length(x), sd = 1.5)
plot(x, y)
makeTube(x, y, type = "q")
# 2
x <- c(-0.6, -0.46, -0.091, runif(97))
y <- 25 * x + rnorm(length(x))
y[2] <- y[2] + 8
y[1] <- y[1] + 1
plot(x, y, ylim = range(y) + c(-10, 5))
makeTube(x, y)
# 3
x <- runif(100)
y <- 5 * x + rnorm(length(x), sd = x)
plot(x, y)
makeTube(x, y, stDev = "l", bw = 0.03)