predictCI(object, newdata = NULL, type = c("response", "link"),
interval = c("none", "confidence", "prediction"), dispersion = NULL,
scale = NULL, na.action = na.pass, level = 0.95, ...)
Use predict.lm with se.fit = TRUE to calculate fit and se.fit. Then calculate lwr and upr as fit +/- tval * se.fit. If model is lm, the model df.residual will be used to get tval. If glm, this is a normal approximation, so we thugishly assert tval = 1.98.
There's some confusing term translation. I wish R lm and glm would be brought into line. For lm, residual.scale = sigma. For glm, residual.scale = sqrt(dispersion)