From 9f1c53849ba99e9f607a817f0ca44eb693430e76 Mon Sep 17 00:00:00 2001 From: ranke Date: Thu, 24 Apr 2014 17:01:51 +0000 Subject: - Added the tolerance argument and the fix to the call to optimize() also in loq() - Version 0.1-33 just submitted to CRAN git-svn-id: http://kriemhild.uft.uni-bremen.de/svn/chemCal@33 5fad18fb-23f0-0310-ab10-e59a3bee62b4 --- branches/0.1/chemCal/R/loq.R | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'branches/0.1/chemCal/R/loq.R') diff --git a/branches/0.1/chemCal/R/loq.R b/branches/0.1/chemCal/R/loq.R index 5776096..f832265 100644 --- a/branches/0.1/chemCal/R/loq.R +++ b/branches/0.1/chemCal/R/loq.R @@ -1,17 +1,17 @@ loq <- function(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto", - var.loq = "auto") + var.loq = "auto", tol = "default") { UseMethod("loq") } loq.default <- function(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto", - var.loq = "auto") + var.loq = "auto", tol = "default") { stop("loq is only implemented for univariate lm objects.") } loq.lm <- function(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto", - var.loq = "auto") + var.loq = "auto", tol = "default") { if (length(object$weights) > 0 && var.loq == "auto" && w.loq == "auto") { stop(paste("If you are using a model from weighted regression,", @@ -20,6 +20,7 @@ loq.lm <- function(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto", "limit of quantification")) } xname <- names(object$model)[[2]] + xvalues <- object$model[[2]] yname <- names(object$model)[[1]] f <- function(x) { newdata <- data.frame(x = x) @@ -29,8 +30,8 @@ loq.lm <- function(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto", var.s = var.loq, alpha = alpha) (p[["Prediction"]] - k * p[["Confidence"]])^2 } - tmp <- optimize(f,interval=c(0,max(object$model[[2]]))) - loq.x <- tmp$minimum + if (tol == "default") tol = min(xvalues[xvalues !=0]) / 1000 + loq.x <- optimize(f, interval = c(0, max(xvalues) * 10), tol = tol)$minimum newdata <- data.frame(x = loq.x) names(newdata) <- xname loq.y <- predict(object, newdata) -- cgit v1.2.1