Learn R Programming

VGAM (version 0.9-6)

deplot.lmscreg: Density Plot for LMS Quantile Regression

Description

Plots a probability density function associated with a LMS quantile regression.

Usage

deplot.lmscreg(object, newdata = NULL, x0, y.arg, show.plot = TRUE, ...)

Arguments

object
A VGAM quantile regression model, i.e., an object produced by modelling functions such as vglm and vgam with a family function beginning with
newdata
Optional data frame containing secondary variables such as sex. It should have a maximum of one row. The default is to use the original data.
x0
Numeric. The value of the primary variable at which to make the `slice'.
y.arg
Numerical vector. The values of the response variable at which to evaluate the density. This should be a grid that is fine enough to ensure the plotted curves are smooth.
show.plot
Logical. Plot it? If FALSE no plot will be done.
...
Graphical parameter that are passed into plotdeplot.lmscreg.

Value

  • The original object but with a list placed in the slot post, called @post$deplot. The list has components
  • newdataThe argument newdata above, or a one-row data frame constructed out of the x0 argument.
  • yThe argument y.arg above.
  • densityVector of the density function values evaluated at y.arg.

Details

This function calls, e.g., deplot.lms.yjn in order to compute the density function.

References

Yee, T. W. (2004) Quantile regression via vector generalized additive models. Statistics in Medicine, 23, 2295--2315.

See Also

plotdeplot.lmscreg, qtplot.lmscreg, lms.bcn, lms.bcg, lms.yjn.

Examples

Run this code
fit <- vgam(BMI ~ s(age, df = c(4, 2)), fam = lms.bcn(zero = 1), data = bmi.nz)
ygrid <- seq(15, 43, by = 0.25)
deplot(fit, x0 = 20, y = ygrid, xlab = "BMI", col = "green", llwd = 2,
       main = "BMI distribution at ages 20 (green), 40 (blue), 60 (red)")
deplot(fit, x0 = 40, y = ygrid, add = TRUE, col = "blue", llwd = 2)
deplot(fit, x0 = 60, y = ygrid, add = TRUE, col = "red", llwd = 2) -> a

names(a@post$deplot)
a@post$deplot$newdata
head(a@post$deplot$y)
head(a@post$deplot$density)

Run the code above in your browser using DataLab