From 88199498f148bbe31593b3109bce241c872301f6 Mon Sep 17 00:00:00 2001 From: ranke Date: Mon, 15 May 2006 15:06:13 +0000 Subject: Splitted the lod and loq functions. Documentation still must be updated git-svn-id: http://kriemhild.uft.uni-bremen.de/svn/chemCal@9 5fad18fb-23f0-0310-ab10-e59a3bee62b4 --- R/lod.R | 20 +++++++++----------- R/loq.R | 20 ++++++++++++++++++++ inst/doc/chemCal-001.pdf | 4 ++-- inst/doc/chemCal.log | 4 ++-- inst/doc/chemCal.pdf | Bin 107514 -> 107518 bytes 5 files changed, 33 insertions(+), 15 deletions(-) create mode 100644 R/loq.R diff --git a/R/lod.R b/R/lod.R index 9f90d48..6562c04 100644 --- a/R/lod.R +++ b/R/lod.R @@ -1,24 +1,22 @@ -lod <- function(object, ..., alpha = 0.05, k = 1, n = 1, w = "auto") +lod <- function(object, ..., alpha = 0.05, beta = 0.05, n = 1, w = "auto") { UseMethod("lod") } -loq <- function(object, ..., alpha = 0.05, k = 3, n = 1, w = "auto") -{ - lod(object = object, alpha = alpha, k = k, n = n, w = w) -} - -lod.default <- function(object, ..., alpha = 0.05, k = 1, n = 1, w = "auto") +lod.default <- function(object, ..., alpha = 0.05, beta = 0.05, + n = 1, w = "auto") { stop("lod is only implemented for univariate lm objects.") } -lod.lm <- function(object, ..., alpha = 0.05, k = 1, n = 1, w = "auto") +lod.lm <- function(object, ..., alpha = 0.05, beta = 0.05, 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 + y1 <- predict(object, data.frame(x = 0), interval="prediction", + level = 1 - alpha) + y2 <- predict(object, data.frame(x = x), interval="prediction", + level = 1 - beta) + (y2[[1,"lwr"]] - y1[[1,"upr"]])^2 } tmp <- optimize(f,interval=c(0,max(object$model$x))) return(tmp$minimum) diff --git a/R/loq.R b/R/loq.R new file mode 100644 index 0000000..33e9556 --- /dev/null +++ b/R/loq.R @@ -0,0 +1,20 @@ +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) +} diff --git a/inst/doc/chemCal-001.pdf b/inst/doc/chemCal-001.pdf index ca1ecd6..e2992fc 100644 --- a/inst/doc/chemCal-001.pdf +++ b/inst/doc/chemCal-001.pdf @@ -2,8 +2,8 @@ %âãÏÓ\r 1 0 obj << -/CreationDate (D:20060512230530) -/ModDate (D:20060512230530) +/CreationDate (D:20060512235955) +/ModDate (D:20060512235955) /Title (R Graphics Output) /Producer (R 2.3.0) /Creator (R) diff --git a/inst/doc/chemCal.log b/inst/doc/chemCal.log index ae10f7f..110dbec 100644 --- a/inst/doc/chemCal.log +++ b/inst/doc/chemCal.log @@ -1,4 +1,4 @@ -This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=pdflatex 2006.4.5) 12 MAY 2006 23:05 +This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=pdflatex 2006.4.5) 12 MAY 2006 23:59 entering extended mode **chemCal.tex (./chemCal.tex @@ -346,4 +346,4 @@ type1/bluesky/cm/cmbx12.pfb> -Output written on chemCal.pdf (3 pages, 107514 bytes). +Output written on chemCal.pdf (3 pages, 107518 bytes). diff --git a/inst/doc/chemCal.pdf b/inst/doc/chemCal.pdf index 9cec612..8e3249b 100644 Binary files a/inst/doc/chemCal.pdf and b/inst/doc/chemCal.pdf differ -- cgit v1.2.1