From e83723b497d97cfb4e9e3a9803e06c81e7f0b12a Mon Sep 17 00:00:00 2001 From: ranke Date: Thu, 24 Apr 2014 16:03:41 +0000 Subject: - Added ChangeLog - Bugfix for lod() for the case of small x values (see ChangeLog) - Version 0.1-32 as just submitted to CRAN - Got rid of trunk directory, as I will not find the time to finish what I started there and it may confuse visitors of viewcvs in kriemhild git-svn-id: http://kriemhild.uft.uni-bremen.de/svn/chemCal@31 5fad18fb-23f0-0310-ab10-e59a3bee62b4 --- branches/0.1/chemCal/R/lod.R | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'branches/0.1/chemCal/R/lod.R') diff --git a/branches/0.1/chemCal/R/lod.R b/branches/0.1/chemCal/R/lod.R index f5bbb7d..5b74418 100644 --- a/branches/0.1/chemCal/R/lod.R +++ b/branches/0.1/chemCal/R/lod.R @@ -1,14 +1,14 @@ -lod <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default") +lod <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default", tol = "default") { UseMethod("lod") } -lod.default <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default") +lod.default <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default", tol = "default") { stop("lod is only implemented for univariate lm objects.") } -lod.lm <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default") +lod.lm <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default", tol = "default") { if (length(object$weights) > 0) { stop(paste( @@ -21,6 +21,7 @@ lod.lm <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default") )) } xname <- names(object$model)[[2]] + xvalues <- object$model[[2]] yname <- names(object$model)[[1]] newdata <- data.frame(0) names(newdata) <- xname @@ -42,7 +43,8 @@ lod.lm <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default") yd <- pi.y[[1,"lwr"]] (yd - yc)^2 } - lod.x <- optimize(f,interval=c(0,max(object$model[[xname]])))$minimum + if (tol == "default") tol = min(xvalues[xvalues !=0]) / 1000 + lod.x <- optimize(f, interval = c(0, max(xvalues) * 10), tol = tol)$minimum newdata <- data.frame(x = lod.x) names(newdata) <- xname lod.y <- predict(object, newdata) -- cgit v1.2.1