The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

New panel functions

tactile

Johan Larsson

2023-05-24

tactile introduces new panel functions to the latticeverse.

panel.ci(): confidence intervals

panel.ci() adds confidence bands around a line using arguments lower and upper. This is usually of interested after, for instance, having fitted a model and then made predictions using that model.

As an example, we will try to predict petal width from petal length and species, using the iris dataset.

mod <- lm(Petal.Width ~ Petal.Length * Species, data = iris)
newdat <- expand.grid(
  Petal.Length = seq(1, 7, by = 0.1),
  Species = c("setosa", "versicolor", "virginica")
)
pred <- predict(mod, newdat, interval = "confidence")
dd <- cbind(newdat, pred)

Having predicted values across our grid, we now plot the predictions, including 95% confidence levels using the following lines.

library(tactile)
xyplot(fit ~ Petal.Length,
  groups = Species, data = dd,
  prepanel = prepanel.ci, auto.key = list(lines = TRUE, points = FALSE),
  ylab = "Petal Width",
  xlab = "Petal Length",
  lower = dd$lwr,
  upper = dd$upr,
  type = "l",
  panel = function(...) {
    panel.ci(..., alpha = 0.15, grid = TRUE)
    panel.xyplot(...)
  }
)

Example of using panel.ci.

Also note the use of the prepanel.ci() function that we provide the prepanel argument with so that the axis limits are set properly.

panel.qqmathci(): confidence intervals for lattice::qqmath()

panel.qqmathci() is designed to be used together with lattice::qqmath() and lattice::panel.qqmathline() to provide confidence intervals for the theoretical quantities. A rather contrived example follows.

qqmath(~ height | voice.part,
  aspect = "xy", data = singer,
  prepanel = prepanel.qqmathline,
  distribution = qnorm,
  ci = 0.9,
  panel = function(x, ...) {
    panel.qqmathci(x, ...)
    panel.qqmathline(x, ...)
    panel.qqmath(x, ...)
  }
)

Example of using panel.qqmathci.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.