fit = vgam(BMI ~ s(age, df = 4), lms.yjn, bmi.nz, trace = TRUE)
head(predict(fit))
head(fitted(fit))
head(bmi.nz)
# Person 1 is near the lower quartile of BMI amongst people his age
head(cdf(fit))
# Quantile plot
par(bty = "l", mar = c(5, 4, 4, 3) + 0.1, xpd = TRUE)
qtplot(fit, percentiles = c(5, 50, 90, 99), main = "Quantiles",
xlim = c(15, 90), las = 1, ylab = "BMI", lwd = 2, lcol = 4)
# Density plot
ygrid = seq(15, 43, len=100) # BMI ranges
par(mfrow=c(1,1), lwd=2)
(aa = deplot(fit, x0=20, y=ygrid, xlab="BMI", col="black",
main="Density functions at Age = 20 (black), 42 (red) and 55 (blue)"))
aa = deplot(fit, x0=42, y=ygrid, add=TRUE, llty=2, col="red")
aa = deplot(fit, x0=55, y=ygrid, add=TRUE, llty=4, col="blue", Attach=TRUE)
with(aa@post, deplot) # Contains density function values; == a@post$deplot
Run the code above in your browser using DataLab