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 --- trunk/chemCal/R/lod.R | 53 --------------------------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 trunk/chemCal/R/lod.R (limited to 'trunk/chemCal/R/lod.R') diff --git a/trunk/chemCal/R/lod.R b/trunk/chemCal/R/lod.R deleted file mode 100644 index f5bbb7d..0000000 --- a/trunk/chemCal/R/lod.R +++ /dev/null @@ -1,53 +0,0 @@ -lod <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default") -{ - UseMethod("lod") -} - -lod.default <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default") -{ - stop("lod is only implemented for univariate lm objects.") -} - -lod.lm <- function(object, ..., alpha = 0.05, beta = 0.05, method = "default") -{ - if (length(object$weights) > 0) { - stop(paste( - "\nThe detemination of a lod from calibration models obtained by", - "weighted linear regression requires confidence intervals for", - "predicted y values taking into account weights for the x values", - "from which the predictions are to be generated.", - "This is not supported by the internally used predict.lm method.", - sep = "\n" - )) - } - xname <- names(object$model)[[2]] - yname <- names(object$model)[[1]] - newdata <- data.frame(0) - names(newdata) <- xname - y0 <- predict(object, newdata, interval = "prediction", - level = 1 - 2 * alpha) - yc <- y0[[1,"upr"]] - if (method == "din") { - y0.d <- predict(object, newdata, interval = "prediction", - level = 1 - 2 * beta) - deltay <- y0.d[[1, "upr"]] - y0.d[[1, "fit"]] - lod.y <- yc + deltay - lod.x <- inverse.predict(object, lod.y)$Prediction - } else { - f <- function(x) { - newdata <- data.frame(x) - names(newdata) <- xname - pi.y <- predict(object, newdata, interval = "prediction", - level = 1 - 2 * beta) - yd <- pi.y[[1,"lwr"]] - (yd - yc)^2 - } - lod.x <- optimize(f,interval=c(0,max(object$model[[xname]])))$minimum - newdata <- data.frame(x = lod.x) - names(newdata) <- xname - lod.y <- predict(object, newdata) - } - lod <- list(lod.x, lod.y) - names(lod) <- c(xname, yname) - return(lod) -} -- cgit v1.2.1