loq <- function(object, ..., alpha = 0.05, k = 3, n = 1, w = "auto") { UseMethod("loq") } loq.default <- function(object, ..., alpha = 0.05, k = 3, n = 1, w = "auto") { stop("lod is only implemented for univariate lm objects.") } loq.lm <- function(object, ..., alpha = 0.05, k = 3, n = 1, w = "auto") { f <- function(x) { y <- predict(object, data.frame(x = x)) p <- inverse.predict(object, rep(y, n), ws = w, alpha = alpha) (p[["Prediction"]] - k * p[["Confidence"]])^2 } tmp <- optimize(f,interval=c(0,max(object$model$x))) return(tmp$minimum) }