aboutsummaryrefslogtreecommitdiff
path: root/R/loq.R
diff options
context:
space:
mode:
authorranke <ranke@5fad18fb-23f0-0310-ab10-e59a3bee62b4>2006-06-23 15:33:27 +0000
committerranke <ranke@5fad18fb-23f0-0310-ab10-e59a3bee62b4>2006-06-23 15:33:27 +0000
commit9e0dae397df8c18e7333d2604cae96b2a7927420 (patch)
treeb513b791985426bab6c18850d2f8c308c411c1a5 /R/loq.R
parentfb7ea47c774f67b8c26a6844f4ade8935a8653cc (diff)
- inverse.predict now has a var.s argument instead of the never
tested ss argument. This is documented in the updated vignette - loq() now has w.loq and var.loq arguments, and stops with a message if neither are specified and the model has weights. - calplot doesn't stop any more for weighted regression models, but only refrains from drawing prediction bands - Added method = "din" to lod(), now that I actually have it (DIN 32645) and was able to see which approximation is used therein. - removed the demos, as the examples and tests are already partially duplicated - The vignette is more of a collection of various notes, but should certainly be helpful for the user. - Version bump to 0.1-xxx git-svn-id: http://kriemhild.uft.uni-bremen.de/svn/chemCal@16 5fad18fb-23f0-0310-ab10-e59a3bee62b4
Diffstat (limited to 'R/loq.R')
-rw-r--r--R/loq.R18
1 files changed, 14 insertions, 4 deletions
diff --git a/R/loq.R b/R/loq.R
index ee22d38..5776096 100644
--- a/R/loq.R
+++ b/R/loq.R
@@ -1,22 +1,32 @@
-loq <- function(object, ..., alpha = 0.05, k = 3, n = 1, w = "auto")
+loq <- function(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto",
+ var.loq = "auto")
{
UseMethod("loq")
}
-loq.default <- function(object, ..., alpha = 0.05, k = 3, n = 1, w = "auto")
+loq.default <- function(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto",
+ var.loq = "auto")
{
stop("loq is only implemented for univariate lm objects.")
}
-loq.lm <- function(object, ..., alpha = 0.05, k = 3, n = 1, w = "auto")
+loq.lm <- function(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto",
+ var.loq = "auto")
{
+ if (length(object$weights) > 0 && var.loq == "auto" && w.loq == "auto") {
+ stop(paste("If you are using a model from weighted regression,",
+ "you need to specify a reasonable approximation for the",
+ "weight (w.loq) or the variance (var.loq) at the",
+ "limit of quantification"))
+ }
xname <- names(object$model)[[2]]
yname <- names(object$model)[[1]]
f <- function(x) {
newdata <- data.frame(x = x)
names(newdata) <- xname
y <- predict(object, newdata)
- p <- inverse.predict(object, rep(y, n), ws = w, alpha = alpha)
+ p <- inverse.predict(object, rep(y, n), ws = w.loq,
+ var.s = var.loq, alpha = alpha)
(p[["Prediction"]] - k * p[["Confidence"]])^2
}
tmp <- optimize(f,interval=c(0,max(object$model[[2]])))

Contact - Imprint