diff options
36 files changed, 7720 insertions, 0 deletions
diff --git a/branches/0.1/chemCal/DESCRIPTION b/branches/0.1/chemCal/DESCRIPTION new file mode 100644 index 0000000..07ee5a0 --- /dev/null +++ b/branches/0.1/chemCal/DESCRIPTION @@ -0,0 +1,19 @@ +Package: chemCal +Version: 0.1-18 +Date: 2006-06-23 +Title: Calibration functions for analytical chemistry +Author: Johannes Ranke <jranke@uni-bremen.de> +Maintainer: Johannes Ranke <jranke@uni-bremen.de> +Depends: R +Suggests: MASS +Description: chemCal provides simple functions for plotting linear + calibration functions and estimating standard errors for measurements + according to the Handbook of Chemometrics and Qualimetrics: Part A + by Massart et al. There are also functions estimating the limit + of detection (LOQ) and limit of quantification (LOD). + The functions work on model objects from - optionally weighted - linear + regression (lm) or robust linear regression (rlm from the MASS package). +License: GPL version 2 or newer +URL: http://www.r-project.org, + http://www.uft.uni-bremen.de/chemie/ranke, + http://kriemhild.uft.uni-bremen.de/viewcvs/?root=chemCal diff --git a/branches/0.1/chemCal/INDEX b/branches/0.1/chemCal/INDEX new file mode 100644 index 0000000..f880eb6 --- /dev/null +++ b/branches/0.1/chemCal/INDEX @@ -0,0 +1,9 @@ +calplot Plot calibration graphs from univariate linear + models +chemCal-package Calibration functions for analytical chemistry +din32645 Calibration data from DIN 32645 +inverse.predict Predict x from y for a linear calibration +lod Estimate a limit of detection (LOD) +loq Estimate a limit of quantification (LOQ) +massart97ex3 Calibration data from Massart et al. (1997), + example 3 diff --git a/branches/0.1/chemCal/R/calplot.R b/branches/0.1/chemCal/R/calplot.R new file mode 100644 index 0000000..6aed9c0 --- /dev/null +++ b/branches/0.1/chemCal/R/calplot.R @@ -0,0 +1,80 @@ +calplot <- function(object, + xlim = c("auto", "auto"), ylim = c("auto", "auto"), + xlab = "Concentration", ylab = "Response", alpha = 0.05, + varfunc = NULL) +{ + UseMethod("calplot") +} + +calplot.default <- function(object, + xlim = c("auto","auto"), ylim = c("auto","auto"), + xlab = "Concentration", ylab = "Response", + alpha=0.05, varfunc = NULL) +{ + stop("Calibration plots only implemented for univariate lm objects.") +} + +calplot.lm <- function(object, + xlim = c("auto","auto"), ylim = c("auto","auto"), + xlab = "Concentration", ylab = "Response", alpha=0.05, + varfunc = NULL) +{ + if (length(object$coef) > 2) + stop("More than one independent variable in your model - not implemented") + + if (alpha <= 0 | alpha >= 1) + stop("Alpha should be between 0 and 1 (exclusive)") + + m <- object + level <- 1 - alpha + y <- m$model[[1]] + x <- m$model[[2]] + if (xlim[1] == "auto") xlim[1] <- 0 + if (xlim[2] == "auto") xlim[2] <- max(x) + xlim <- as.numeric(xlim) + newdata <- list( + x = seq(from = xlim[[1]], to = xlim[[2]], length=250)) + names(newdata) <- names(m$model)[[2]] + if (is.null(varfunc)) { + varfunc <- if (length(m$weights)) { + function(variable) mean(m$weights) + } else function(variable) rep(1,250) + } + pred.lim <- predict(m, newdata, interval = "prediction", + level=level, weights.newdata = varfunc(m)) + conf.lim <- predict(m, newdata, interval = "confidence", + level=level) + yrange.auto <- range(c(0,pred.lim)) + if (ylim[1] == "auto") ylim[1] <- yrange.auto[1] + if (ylim[2] == "auto") ylim[2] <- yrange.auto[2] + plot(1, + type = "n", + xlab = xlab, + ylab = ylab, + xlim = as.numeric(xlim), + ylim = as.numeric(ylim) + ) + points(x,y, pch = 21, bg = "yellow") + matlines(newdata[[1]], pred.lim, lty = c(1, 4, 4), + col = c("black", "red", "red")) + if (length(object$weights) > 0) { + legend(min(x), + max(pred.lim, na.rm = TRUE), + legend = c("Fitted Line", "Confidence Bands"), + lty = c(1, 3), + lwd = 2, + col = c("black", "green4"), + horiz = FALSE, cex = 0.9, bg = "gray95") + } else { + matlines(newdata[[1]], conf.lim, lty = c(1, 3, 3), + col = c("black", "green4", "green4")) + legend(min(x), + max(pred.lim, na.rm = TRUE), + legend = c("Fitted Line", "Confidence Bands", + "Prediction Bands"), + lty = c(1, 3, 4), + lwd = 2, + col = c("black", "green4", "red"), + horiz = FALSE, cex = 0.9, bg = "gray95") + } +} diff --git a/branches/0.1/chemCal/R/inverse.predict.lm.R b/branches/0.1/chemCal/R/inverse.predict.lm.R new file mode 100644 index 0000000..927e672 --- /dev/null +++ b/branches/0.1/chemCal/R/inverse.predict.lm.R @@ -0,0 +1,97 @@ +# This is an implementation of Equation (8.28) in the Handbook of Chemometrics +# and Qualimetrics, Part A, Massart et al (1997), page 200, validated with +# Example 8 on the same page, extended as specified in the package vignette + +inverse.predict <- function(object, newdata, ..., + ws = "auto", alpha = 0.05, var.s = "auto") +{ + UseMethod("inverse.predict") +} + +inverse.predict.default <- function(object, newdata, ..., + ws = "auto", alpha = 0.05, var.s = "auto") +{ + stop("Inverse prediction only implemented for univariate lm objects.") +} + +inverse.predict.lm <- function(object, newdata, ..., + ws = "auto", alpha = 0.05, var.s = "auto") +{ + yname = names(object$model)[[1]] + xname = names(object$model)[[2]] + if (ws == "auto") { + ws <- ifelse(length(object$weights) > 0, mean(object$weights), 1) + } + if (length(object$weights) > 0) { + wx <- split(object$weights,object$model[[xname]]) + w <- sapply(wx,mean) + } else { + w <- rep(1,length(split(object$model[[yname]],object$model[[xname]]))) + } + .inverse.predict(object = object, newdata = newdata, + ws = ws, alpha = alpha, var.s = var.s, w = w, xname = xname, yname = yname) +} + +inverse.predict.rlm <- function(object, newdata, ..., + ws = "auto", alpha = 0.05, var.s = "auto") +{ + yname = names(object$model)[[1]] + xname = names(object$model)[[2]] + if (ws == "auto") { + ws <- mean(object$w) + } + wx <- split(object$weights,object$model[[xname]]) + w <- sapply(wx,mean) + .inverse.predict(object = object, newdata = newdata, + ws = ws, alpha = alpha, var.s = var.s, w = w, xname = xname, yname = yname) +} + +.inverse.predict <- function(object, newdata, ws, alpha, var.s, w, xname, yname) +{ + if (length(object$coef) > 2) + stop("More than one independent variable in your model - not implemented") + + if (alpha <= 0 | alpha >= 1) + stop("Alpha should be between 0 and 1 (exclusive)") + + ybars <- mean(newdata) + m <- length(newdata) + + yx <- split(object$model[[yname]], object$model[[xname]]) + n <- length(yx) + df <- n - length(object$coef) + x <- as.numeric(names(yx)) + ybar <- sapply(yx,mean) + yhatx <- split(object$fitted.values, object$model[[xname]]) + yhat <- sapply(yhatx, mean) + se <- sqrt(sum(w * (ybar - yhat)^2)/df) + + if (var.s == "auto") { + var.s <- se^2/ws + } + + b1 <- object$coef[[xname]] + + ybarw <- sum(w * ybar)/sum(w) + +# This is the adapted form of equation 8.28 (see package vignette) + sxhats <- 1/b1 * sqrt( + (var.s / m) + + se^2 * (1/sum(w) + + (ybars - ybarw)^2 * sum(w) / + (b1^2 * (sum(w) * sum(w * x^2) - sum(w * x)^2))) + ) + + if (names(object$coef)[1] == "(Intercept)") { + b0 <- object$coef[["(Intercept)"]] + } else { + b0 <- 0 + } + + xs <- (ybars - b0) / b1 + t <- qt(1-0.5*alpha, n - 2) + conf <- t * sxhats + result <- list("Prediction"=xs,"Standard Error"=sxhats, + "Confidence"=conf, "Confidence Limits"=c(xs - conf, xs + conf)) + return(result) +} diff --git a/branches/0.1/chemCal/R/lod.R b/branches/0.1/chemCal/R/lod.R new file mode 100644 index 0000000..f5bbb7d --- /dev/null +++ b/branches/0.1/chemCal/R/lod.R @@ -0,0 +1,53 @@ +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) +} diff --git a/branches/0.1/chemCal/R/loq.R b/branches/0.1/chemCal/R/loq.R new file mode 100644 index 0000000..5776096 --- /dev/null +++ b/branches/0.1/chemCal/R/loq.R @@ -0,0 +1,40 @@ +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.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.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.loq, + 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 + newdata <- data.frame(x = loq.x) + names(newdata) <- xname + loq.y <- predict(object, newdata) + loq <- list(loq.x, loq.y) + names(loq) <- c(xname, yname) + return(loq) +} diff --git a/branches/0.1/chemCal/TODO b/branches/0.1/chemCal/TODO new file mode 100644 index 0000000..1fc44a7 --- /dev/null +++ b/branches/0.1/chemCal/TODO @@ -0,0 +1,5 @@ +- lod(): At the moment, it is not possible to calculate an lod for the + case of more than one replicates (m is fixed to 1). The formula + for the prediction of y from mean(x) in Massart et al, p. 433 + could be used to generalize this. +- Write methods for nonlinear calibration functions diff --git a/branches/0.1/chemCal/data/din32645.rda b/branches/0.1/chemCal/data/din32645.rda Binary files differnew file mode 100644 index 0000000..4e2913a --- /dev/null +++ b/branches/0.1/chemCal/data/din32645.rda diff --git a/branches/0.1/chemCal/data/massart97ex1.rda b/branches/0.1/chemCal/data/massart97ex1.rda Binary files differnew file mode 100644 index 0000000..1a6fd4b --- /dev/null +++ b/branches/0.1/chemCal/data/massart97ex1.rda diff --git a/branches/0.1/chemCal/data/massart97ex3.rda b/branches/0.1/chemCal/data/massart97ex3.rda Binary files differnew file mode 100644 index 0000000..7f60f3a --- /dev/null +++ b/branches/0.1/chemCal/data/massart97ex3.rda diff --git a/branches/0.1/chemCal/inst/doc/Makefile b/branches/0.1/chemCal/inst/doc/Makefile new file mode 100644 index 0000000..8eca69e --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/Makefile @@ -0,0 +1,33 @@ +# Makefile for Sweave documents containing both Latex and R code +# Author: Johannes Ranke <jranke@uni-bremen.de> +# Last Change: 2006 Jun 23 +# based on the Makefile of Nicholas Lewin-Koh +# in turn based on work of Rouben Rostmaian +# SVN: $Id: Makefile.rnoweb 62 2006-05-24 08:30:59Z ranke $ + +RNWFILES = $(wildcard *.Rnw) +TARGETS = $(patsubst %.Rnw,%.tex,$(RNWFILE)) $(patsubst %.Rnw,%.pdf,$(RNWFILES)) + +RERUN = "(There were undefined references|Rerun to get (cross-references|the bars) right|Table widths have changed. Rerun LaTeX.|Linenumber reference failed)" +RERUNBIB = "No file.*\.bbl|Citation.*undefined" + +%.tex: %.Rnw + echo 'Sweave("$<")' | R --no-save --no-restore + +%.pdf: %.tex + pdflatex $< + egrep -c $(RERUNBIB) $*.log && (bibtex $*;pdflatex $<); true + egrep $(RERUN) $*.log && (pdflatex $<) ; true + egrep $(RERUN) $*.log && (pdflatex $<) ; true + +all: all-recursive $(TARGETS) + +clean: clean-recursive + rm -f *.aux *.log *.bbl *.blg *.brf *.cb *.ind *.idx *.ilg \ + *.inx *.ps *.dvi *.toc *.out *.lot *~ *.lof *.ttt *.fff + +all-recursive: + for dir in $(wildcard *); do if [ -d $$dir ] && [ -f $$dir/Makefile ]; then cd $$dir; $(MAKE) all; cd ..; fi; done + +clean-recursive: + for dir in $(wildcard *); do if [ -d $$dir ] && [ -f $$dir/Makefile ]; then cd $$dir; $(MAKE) clean; cd ..; fi; done diff --git a/branches/0.1/chemCal/inst/doc/Rplots.ps b/branches/0.1/chemCal/inst/doc/Rplots.ps new file mode 100644 index 0000000..c5e68ec --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/Rplots.ps @@ -0,0 +1,1970 @@ +%!PS-Adobe-3.0 +%%DocumentNeededResources: font Helvetica +%%+ font Helvetica-Bold +%%+ font Helvetica-Oblique +%%+ font Helvetica-BoldOblique +%%+ font Symbol +%%DocumentMedia: a4 595 841 0 () () +%%Title: R Graphics Output +%%Creator: R Software +%%Pages: (atend) +%%Orientation: Landscape +%%BoundingBox: 18 18 577 824 +%%EndComments +%%BeginProlog +/bp { gs 595.00 0 translate 90 rotate gs } def +% begin .ps.prolog +/gs { gsave } def +/gr { grestore } def +/ep { showpage gr gr } def +/m { moveto } def +/l { rlineto } def +/np { newpath } def +/cp { closepath } def +/f { fill } def +/o { stroke } def +/c { newpath 0 360 arc } def +/r { 4 2 roll moveto 1 copy 3 -1 roll exch 0 exch rlineto 0 rlineto -1 mul 0 exch rlineto closepath } def +/p1 { stroke } def +/p2 { gsave bg setrgbcolor fill grestore newpath } def +/p3 { gsave bg setrgbcolor fill grestore stroke } def +/t { 6 -2 roll moveto gsave rotate + ps mul neg 0 2 1 roll rmoveto + 1 index stringwidth pop + mul neg 0 rmoveto show grestore } def +/cl { grestore gsave newpath 3 index 3 index moveto 1 index + 4 -1 roll lineto exch 1 index lineto lineto + closepath clip newpath } def +/rgb { setrgbcolor } def +/s { scalefont setfont } def +% end .ps.prolog +%%IncludeResource: font Helvetica +/Helvetica findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font1 exch definefont pop +%%IncludeResource: font Helvetica-Bold +/Helvetica-Bold findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font2 exch definefont pop +%%IncludeResource: font Helvetica-Oblique +/Helvetica-Oblique findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font3 exch definefont pop +%%IncludeResource: font Helvetica-BoldOblique +/Helvetica-BoldOblique findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font4 exch definefont pop +%%IncludeResource: font Symbol +/Symbol findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + currentdict + end +/Font5 exch definefont pop +%%EndProlog +%%Page: 1 1 +bp +18.00 18.00 823.89 577.28 cl +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +np +103.58 91.44 m +663.53 0 l +o +np +103.58 91.44 m +0 -7.20 l +o +np +236.29 91.44 m +0 -7.20 l +o +np +368.99 91.44 m +0 -7.20 l +o +np +501.70 91.44 m +0 -7.20 l +o +np +634.40 91.44 m +0 -7.20 l +o +np +767.11 91.44 m +0 -7.20 l +o +/ps 12 def /Font1 findfont 12 s +103.58 65.52 (0) .5 0 0 t +236.29 65.52 (10) .5 0 0 t +368.99 65.52 (20) .5 0 0 t +501.70 65.52 (30) .5 0 0 t +634.40 65.52 (40) .5 0 0 t +767.11 65.52 (50) .5 0 0 t +np +77.04 119.83 m +0 352.62 l +o +np +77.04 119.83 m +-7.20 0 l +o +np +77.04 190.35 m +-7.20 0 l +o +np +77.04 260.88 m +-7.20 0 l +o +np +77.04 331.40 m +-7.20 0 l +o +np +77.04 401.93 m +-7.20 0 l +o +np +77.04 472.45 m +-7.20 0 l +o +59.76 119.83 (0) .5 0 90 t +59.76 190.35 (20) .5 0 90 t +59.76 260.88 (40) .5 0 90 t +59.76 331.40 (60) .5 0 90 t +59.76 401.93 (80) .5 0 90 t +59.76 472.45 (100) .5 0 90 t +np +77.04 91.44 m +716.61 0 l +0 426.80 l +-716.61 0 l +0 -426.80 l +o +18.00 18.00 823.89 577.28 cl +/ps 12 def /Font1 findfont 12 s +0 0 0 rgb +435.34 36.72 (Concentration) .5 0 0 t +30.96 304.84 (Response) .5 0 90 t +77.04 91.44 793.65 518.24 cl +/bg { 1 1 0 } def +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +103.58 133.93 2.70 c p3 +236.29 197.41 2.70 c p3 +368.99 274.98 2.70 c p3 +501.70 331.40 2.70 c p3 +634.40 384.30 2.70 c p3 +767.11 486.56 2.70 c p3 +103.58 130.41 2.70 c p3 +236.29 190.35 2.70 c p3 +368.99 282.03 2.70 c p3 +501.70 341.98 2.70 c p3 +634.40 405.45 2.70 c p3 +767.11 504.19 2.70 c p3 +103.58 133.93 2.70 c p3 +236.29 193.88 2.70 c p3 +368.99 278.51 2.70 c p3 +501.70 331.40 2.70 c p3 +634.40 398.40 2.70 c p3 +767.11 497.14 2.70 c p3 +103.58 137.46 2.70 c p3 +236.29 197.41 2.70 c p3 +368.99 274.98 2.70 c p3 +501.70 341.98 2.70 c p3 +634.40 394.87 2.70 c p3 +767.11 475.98 2.70 c p3 +103.58 133.93 2.70 c p3 +236.29 193.88 2.70 c p3 +368.99 274.98 2.70 c p3 +501.70 341.98 2.70 c p3 +634.40 391.35 2.70 c p3 +767.11 490.08 2.70 c p3 +np +103.58 130.14 m +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +370.06 270.46 lineto +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +636.53 410.78 lineto +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +o +1 0 0 rgb +0.75 setlinewidth +[ 0.00 4.00 3.00 4.00] 0 setdash +np +103.58 107.25 m +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.42 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +370.06 248.29 lineto +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +636.53 388.36 lineto +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +o +np +103.58 153.03 m +2.67 1.39 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +370.06 292.63 lineto +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +636.53 433.20 lineto +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.42 l +o +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +np +103.58 130.14 m +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +370.06 270.46 lineto +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +636.53 410.78 lineto +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +o +0 0.5451 0 rgb +0.75 setlinewidth +[ 0.00 4.00] 0 setdash +np +103.58 123.09 m +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.45 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.66 1.43 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.44 l +2.66 1.43 l +2.67 1.44 l +2.66 1.43 l +2.67 1.44 l +2.66 1.43 l +2.67 1.44 l +2.66 1.43 l +2.67 1.44 l +2.66 1.43 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.43 l +2.66 1.43 l +2.67 1.44 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.44 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.42 l +2.66 1.43 l +2.67 1.43 l +2.66 1.42 l +2.67 1.43 l +2.66 1.43 l +2.67 1.42 l +2.66 1.43 l +2.67 1.42 l +2.66 1.43 l +2.67 1.42 l +2.66 1.42 l +2.67 1.43 l +2.66 1.42 l +2.67 1.42 l +2.66 1.42 l +2.67 1.43 l +2.66 1.42 l +2.67 1.42 l +2.66 1.42 l +2.66 1.42 l +2.67 1.42 l +2.66 1.41 l +2.67 1.42 l +2.66 1.42 l +2.67 1.42 l +2.66 1.41 l +370.06 266.32 lineto +2.66 1.42 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.66 1.40 l +2.67 1.39 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.40 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.38 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.66 1.38 l +2.67 1.39 l +2.66 1.38 l +2.67 1.39 l +2.66 1.38 l +2.67 1.39 l +2.66 1.38 l +2.67 1.38 l +2.66 1.39 l +2.67 1.38 l +2.66 1.38 l +2.67 1.38 l +2.66 1.38 l +2.67 1.39 l +2.66 1.38 l +2.67 1.38 l +2.66 1.38 l +2.67 1.38 l +2.66 1.37 l +2.67 1.38 l +2.66 1.38 l +2.66 1.38 l +2.67 1.38 l +2.66 1.38 l +2.67 1.37 l +2.66 1.38 l +2.67 1.38 l +2.66 1.37 l +2.67 1.38 l +2.66 1.37 l +2.67 1.38 l +2.66 1.37 l +2.67 1.38 l +2.66 1.37 l +2.67 1.38 l +2.66 1.37 l +2.67 1.38 l +2.66 1.37 l +2.67 1.37 l +2.66 1.38 l +2.67 1.37 l +2.66 1.37 l +636.53 405.46 lineto +2.67 1.38 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +o +np +103.58 137.19 m +2.67 1.36 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.36 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.36 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.36 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.67 1.38 l +2.66 1.37 l +2.67 1.37 l +2.66 1.37 l +2.66 1.37 l +2.67 1.37 l +2.66 1.38 l +2.67 1.37 l +2.66 1.37 l +2.67 1.38 l +2.66 1.37 l +2.67 1.37 l +2.66 1.38 l +2.67 1.37 l +2.66 1.38 l +2.67 1.37 l +2.66 1.38 l +2.67 1.37 l +2.66 1.38 l +2.67 1.37 l +2.66 1.38 l +2.67 1.38 l +2.66 1.37 l +2.67 1.38 l +2.66 1.38 l +2.66 1.38 l +2.67 1.37 l +2.66 1.38 l +2.67 1.38 l +2.66 1.38 l +2.67 1.38 l +2.66 1.38 l +2.67 1.38 l +2.66 1.38 l +2.67 1.38 l +2.66 1.38 l +2.67 1.38 l +2.66 1.39 l +2.67 1.38 l +2.66 1.38 l +2.67 1.39 l +2.66 1.38 l +2.67 1.38 l +2.66 1.39 l +2.67 1.38 l +2.66 1.39 l +2.67 1.38 l +2.66 1.39 l +2.66 1.39 l +2.67 1.38 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +370.06 274.60 lineto +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.39 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.39 l +2.67 1.39 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.39 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.40 l +2.67 1.40 l +2.66 1.40 l +2.67 1.41 l +2.66 1.40 l +2.67 1.40 l +2.66 1.41 l +2.67 1.40 l +2.66 1.41 l +2.67 1.41 l +2.66 1.40 l +2.67 1.41 l +2.66 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.41 l +2.67 1.41 l +2.66 1.42 l +2.67 1.41 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.42 l +2.66 1.41 l +2.67 1.42 l +2.66 1.42 l +2.67 1.41 l +2.66 1.42 l +2.67 1.42 l +2.66 1.42 l +2.67 1.42 l +2.66 1.42 l +2.66 1.42 l +2.67 1.42 l +2.66 1.42 l +2.67 1.42 l +2.66 1.42 l +2.67 1.43 l +2.66 1.42 l +2.67 1.42 l +2.66 1.43 l +2.67 1.42 l +2.66 1.42 l +2.67 1.43 l +2.66 1.42 l +2.67 1.43 l +2.66 1.42 l +2.67 1.43 l +2.66 1.43 l +2.67 1.42 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.66 1.43 l +2.67 1.42 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.44 l +2.67 1.43 l +2.66 1.43 l +2.67 1.43 l +2.66 1.43 l +2.67 1.44 l +2.66 1.43 l +2.67 1.43 l +2.66 1.44 l +2.67 1.43 l +2.66 1.43 l +636.53 416.10 lineto +2.67 1.43 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.44 l +2.66 1.43 l +2.67 1.44 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.43 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.45 l +2.67 1.44 l +2.66 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.44 l +2.66 1.44 l +2.67 1.45 l +o +/bg { 0.9490 0.9490 0.9490 } def +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +103.58 502.43 133.62 -51.84 r p3 +1.50 setlinewidth +[] 0 setdash +np +113.30 489.47 m +19.44 0 l +o +0 0.5451 0 rgb +1.50 setlinewidth +[ 0.00 6.00] 0 setdash +np +113.30 476.51 m +19.44 0 l +o +1 0 0 rgb +1.50 setlinewidth +[ 0.00 6.00 4.50 6.00] 0 setdash +np +113.30 463.55 m +19.44 0 l +o +/ps 11 def /Font1 findfont 11 s +0 0 0 rgb +142.46 485.52 (Fitted Line) 0 0 0 t +142.46 472.56 (Confidence Bands) 0 0 0 t +142.46 459.60 (Prediction Bands) 0 0 0 t +ep +%%Page: 2 2 +bp +77.04 91.44 793.65 518.24 cl +18.00 18.00 823.89 577.28 cl +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +np +84.00 91.44 m +669.65 0 l +o +np +84.00 91.44 m +0 -7.20 l +o +np +217.93 91.44 m +0 -7.20 l +o +np +351.86 91.44 m +0 -7.20 l +o +np +485.79 91.44 m +0 -7.20 l +o +np +619.72 91.44 m +0 -7.20 l +o +np +753.65 91.44 m +0 -7.20 l +o +/ps 12 def /Font1 findfont 12 s +84.00 65.52 (0) .5 0 0 t +217.93 65.52 (20) .5 0 0 t +351.86 65.52 (40) .5 0 0 t +485.79 65.52 (60) .5 0 0 t +619.72 65.52 (80) .5 0 0 t +753.65 65.52 (100) .5 0 0 t +np +77.04 107.25 m +0 378.00 l +o +np +77.04 107.25 m +-7.20 0 l +o +np +77.04 233.25 m +-7.20 0 l +o +np +77.04 359.25 m +-7.20 0 l +o +np +77.04 485.25 m +-7.20 0 l +o +59.76 107.25 (0.0) .5 0 90 t +59.76 233.25 (0.5) .5 0 90 t +59.76 359.25 (1.0) .5 0 90 t +59.76 485.25 (1.5) .5 0 90 t +np +77.04 91.44 m +716.61 0 l +0 426.80 l +-716.61 0 l +0 -426.80 l +o +18.00 18.00 823.89 577.28 cl +/ps 12 def /Font1 findfont 12 s +0 0 0 rgb +435.34 36.72 (Fitted values) .5 0 0 t +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +np +30.17 238.93 m +-0.87 1.55 l +4.54 1.56 l +-11.58 2.06 l +0 126.09 l +o +np +33.84 245.91 m +-9.07 0 l +o +33.61 246.47 (S) 0 0 90 t +33.61 254.47 (t) 0 0 90 t +33.61 257.81 (a) 0 0 90 t +33.61 264.48 (n) 0 0 90 t +33.61 271.15 (d) 0 0 90 t +33.61 277.82 (a) 0 0 90 t +33.61 284.50 (r) 0 0 90 t +33.61 288.49 (d) 0 0 90 t +33.61 295.16 (i) 0 0 90 t +33.61 297.83 (z) 0 0 90 t +33.61 303.83 (e) 0 0 90 t +33.61 310.50 (d) 0 0 90 t +33.61 317.17 ( ) 0 0 90 t +33.61 320.51 (r) 0 0 90 t +33.61 324.50 (e) 0 0 90 t +33.61 331.18 (s) 0 0 90 t +33.61 337.18 (i) 0 0 90 t +33.61 339.84 (d) 0 0 90 t +33.61 346.51 (u) 0 0 90 t +33.61 353.18 (a) 0 0 90 t +33.61 359.86 (l) 0 0 90 t +33.61 362.52 (s) 0 0 90 t +np +33.84 369.08 m +-9.07 0 l +o +77.04 91.44 793.65 518.24 cl +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +103.58 262.03 2.70 c p1 +236.29 234.09 2.70 c p1 +368.99 283.13 2.70 c p1 +501.70 332.99 2.70 c p1 +634.40 502.43 2.70 c p1 +767.11 317.74 2.70 c p1 +103.58 148.43 2.70 c p1 +236.29 351.20 2.70 c p1 +368.99 378.99 2.70 c p1 +501.70 223.02 2.70 c p1 +634.40 268.15 2.70 c p1 +767.11 501.72 2.70 c p1 +103.58 262.03 2.70 c p1 +236.29 301.67 2.70 c p1 +368.99 336.13 2.70 c p1 +501.70 332.99 2.70 c p1 +634.40 370.53 2.70 c p1 +767.11 440.55 2.70 c p1 +103.58 322.23 2.70 c p1 +236.29 234.09 2.70 c p1 +368.99 283.13 2.70 c p1 +501.70 223.02 2.70 c p1 +634.40 408.96 2.70 c p1 +767.11 257.16 2.70 c p1 +103.58 262.03 2.70 c p1 +236.29 301.67 2.70 c p1 +368.99 283.13 2.70 c p1 +501.70 223.02 2.70 c p1 +634.40 443.02 2.70 c p1 +767.11 365.26 2.70 c p1 +1 0 0 rgb +np +103.58 255.58 m +0 0 l +0 0 l +0 0 l +0 0 l +132.71 27.87 l +0 0 l +0 0 l +0 0 l +0 0 l +132.70 9.01 l +0 0 l +0 0 l +0 0 l +0 0 l +132.71 24.97 l +0 0 l +0 0 l +0 0 l +0 0 l +132.70 36.59 l +0 0 l +0 0 l +0 0 l +0 0 l +132.71 43.75 l +0 0 l +0 0 l +0 0 l +0 0 l +o +18.00 18.00 823.89 577.28 cl +/ps 12 def /Font1 findfont 12 s +0 0 0 rgb +435.34 22.32 (lm\(y ~ x\)) .5 0 0 t +18.00 18.00 823.89 577.28 cl +/ps 12 def /Font1 findfont 12 s +0 0 0 rgb +435.34 524.72 (Scale-Location) .5 0 0 t +18.00 18.00 823.89 577.28 cl +/ps 9 def /Font1 findfont 9 s +0 0 0 rgb +638.00 500.27 (5) 0 0 0 t +763.51 499.57 (12) 1 0 0 t +638.00 440.86 (29) 0 0 0 t +ep +%%Trailer +%%Pages: 2 +%%EOF diff --git a/branches/0.1/chemCal/inst/doc/chemCal-001.eps b/branches/0.1/chemCal/inst/doc/chemCal-001.eps new file mode 100644 index 0000000..acc5f4b --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal-001.eps @@ -0,0 +1,1762 @@ +%!PS-Adobe-3.0 +%%DocumentNeededResources: font Helvetica +%%+ font Helvetica-Bold +%%+ font Helvetica-Oblique +%%+ font Helvetica-BoldOblique +%%+ font Symbol +%%DocumentMedia: special 432 432 0 () () +%%Title: R Graphics Output +%%Creator: R Software +%%Pages: (atend) +%%BoundingBox: 0 0 432 432 +%%EndComments +%%BeginProlog +/bp { gs gs } def +% begin .ps.prolog +/gs { gsave } def +/gr { grestore } def +/ep { showpage gr gr } def +/m { moveto } def +/l { rlineto } def +/np { newpath } def +/cp { closepath } def +/f { fill } def +/o { stroke } def +/c { newpath 0 360 arc } def +/r { 4 2 roll moveto 1 copy 3 -1 roll exch 0 exch rlineto 0 rlineto -1 mul 0 exch rlineto closepath } def +/p1 { stroke } def +/p2 { gsave bg setrgbcolor fill grestore newpath } def +/p3 { gsave bg setrgbcolor fill grestore stroke } def +/t { 6 -2 roll moveto gsave rotate + ps mul neg 0 2 1 roll rmoveto + 1 index stringwidth pop + mul neg 0 rmoveto show grestore } def +/cl { grestore gsave newpath 3 index 3 index moveto 1 index + 4 -1 roll lineto exch 1 index lineto lineto + closepath clip newpath } def +/rgb { setrgbcolor } def +/s { scalefont setfont } def +% end .ps.prolog +%%IncludeResource: font Helvetica +/Helvetica findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font1 exch definefont pop +%%IncludeResource: font Helvetica-Bold +/Helvetica-Bold findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font2 exch definefont pop +%%IncludeResource: font Helvetica-Oblique +/Helvetica-Oblique findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font3 exch definefont pop +%%IncludeResource: font Helvetica-BoldOblique +/Helvetica-BoldOblique findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font4 exch definefont pop +%%IncludeResource: font Symbol +/Symbol findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + currentdict + end +/Font5 exch definefont pop +%%EndProlog +%%Page: 1 1 +bp +0.00 0.00 432.00 432.00 cl +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +np +71.73 73.44 m +317.34 0 l +o +np +71.73 73.44 m +0 -7.20 l +o +np +135.20 73.44 m +0 -7.20 l +o +np +198.67 73.44 m +0 -7.20 l +o +np +262.13 73.44 m +0 -7.20 l +o +np +325.60 73.44 m +0 -7.20 l +o +np +389.07 73.44 m +0 -7.20 l +o +/ps 12 def /Font1 findfont 12 s +71.73 47.52 (0) .5 0 0 t +135.20 47.52 (10) .5 0 0 t +198.67 47.52 (20) .5 0 0 t +262.13 47.52 (30) .5 0 0 t +325.60 47.52 (40) .5 0 0 t +389.07 47.52 (50) .5 0 0 t +np +59.04 93.36 m +0 247.47 l +o +np +59.04 93.36 m +-7.20 0 l +o +np +59.04 142.86 m +-7.20 0 l +o +np +59.04 192.35 m +-7.20 0 l +o +np +59.04 241.84 m +-7.20 0 l +o +np +59.04 291.34 m +-7.20 0 l +o +np +59.04 340.83 m +-7.20 0 l +o +41.76 93.36 (0) .5 0 90 t +41.76 142.86 (20) .5 0 90 t +41.76 192.35 (40) .5 0 90 t +41.76 241.84 (60) .5 0 90 t +41.76 291.34 (80) .5 0 90 t +41.76 340.83 (100) .5 0 90 t +np +59.04 73.44 m +342.72 0 l +0 299.52 l +-342.72 0 l +0 -299.52 l +o +0.00 0.00 432.00 432.00 cl +/ps 12 def /Font1 findfont 12 s +0 0 0 rgb +230.40 18.72 (Concentration) .5 0 0 t +12.96 223.20 (Response) .5 0 90 t +59.04 73.44 401.76 372.96 cl +/bg { 1 1 0 } def +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +71.73 103.26 2.70 c p3 +135.20 147.81 2.70 c p3 +198.67 202.25 2.70 c p3 +262.13 241.84 2.70 c p3 +325.60 278.96 2.70 c p3 +389.07 350.73 2.70 c p3 +71.73 100.79 2.70 c p3 +135.20 142.86 2.70 c p3 +198.67 207.20 2.70 c p3 +262.13 249.27 2.70 c p3 +325.60 293.81 2.70 c p3 +389.07 363.10 2.70 c p3 +71.73 103.26 2.70 c p3 +135.20 145.33 2.70 c p3 +198.67 204.72 2.70 c p3 +262.13 241.84 2.70 c p3 +325.60 288.86 2.70 c p3 +389.07 358.15 2.70 c p3 +71.73 105.74 2.70 c p3 +135.20 147.81 2.70 c p3 +198.67 202.25 2.70 c p3 +262.13 249.27 2.70 c p3 +325.60 286.39 2.70 c p3 +389.07 343.30 2.70 c p3 +71.73 103.26 2.70 c p3 +135.20 145.33 2.70 c p3 +198.67 202.25 2.70 c p3 +262.13 249.27 2.70 c p3 +325.60 283.91 2.70 c p3 +389.07 353.20 2.70 c p3 +np +71.73 100.60 m +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +199.18 199.07 lineto +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +326.62 297.55 lineto +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +o +1 0 0 rgb +0.75 setlinewidth +[ 0.00 4.00 3.00 4.00] 0 setdash +np +71.73 84.53 m +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +199.18 183.52 lineto +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +326.62 281.82 lineto +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.97 l +1.27 0.98 l +1.28 0.98 l +o +np +71.73 116.66 m +1.28 0.98 l +1.27 0.98 l +1.28 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +199.18 214.63 lineto +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +326.62 313.28 lineto +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 0.99 l +1.28 1.00 l +o +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +np +71.73 100.60 m +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +199.18 199.07 lineto +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +326.62 297.55 lineto +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +o +0 0.5451 0 rgb +0.75 setlinewidth +[ 0.00 4.00] 0 setdash +np +71.73 95.65 m +1.28 1.01 l +1.27 1.01 l +1.28 1.02 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.02 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.27 1.00 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.00 l +1.28 1.01 l +1.27 1.01 l +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.28 1.01 l +1.27 1.00 l +1.28 1.01 l +1.27 1.00 l +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.28 1.00 l +1.27 1.00 l +1.28 1.01 l +1.27 1.00 l +1.28 1.00 l +1.27 1.01 l +1.27 1.00 l +1.28 1.00 l +1.27 1.01 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.28 1.01 l +1.27 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.27 0.99 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 0.99 l +1.28 1.00 l +1.27 1.00 l +1.28 0.99 l +1.27 1.00 l +1.27 1.00 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 1.00 l +199.18 196.17 lineto +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.97 l +1.27 0.97 l +1.28 0.98 l +1.27 0.97 l +1.28 0.97 l +1.27 0.98 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.27 0.97 l +1.28 0.96 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.27 0.97 l +1.28 0.96 l +1.27 0.97 l +1.28 0.96 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.96 l +326.62 293.82 lineto +1.27 0.96 l +1.28 0.96 l +1.27 0.97 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.27 0.97 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.95 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.95 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.27 0.96 l +1.28 0.95 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +o +np +71.73 105.54 m +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.95 l +1.27 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.95 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.95 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.97 l +1.27 0.96 l +1.28 0.96 l +1.27 0.96 l +1.28 0.96 l +1.27 0.97 l +1.28 0.96 l +1.27 0.96 l +1.27 0.97 l +1.28 0.96 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.96 l +1.27 0.97 l +1.28 0.96 l +1.27 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.96 l +1.27 0.97 l +1.28 0.97 l +1.27 0.96 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.96 l +1.27 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.97 l +1.28 0.97 l +1.27 0.98 l +1.28 0.97 l +1.27 0.97 l +1.28 0.98 l +1.27 0.97 l +1.27 0.97 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.97 l +199.18 201.98 lineto +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.97 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.27 0.98 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.27 0.99 l +1.28 0.98 l +1.27 0.99 l +1.28 0.99 l +1.27 0.98 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 0.99 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 0.99 l +1.27 0.99 l +1.28 1.00 l +1.27 0.99 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 1.00 l +1.28 0.99 l +1.27 1.00 l +1.27 1.00 l +1.28 0.99 l +1.27 1.00 l +1.28 1.00 l +1.27 0.99 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 0.99 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.27 1.00 l +1.28 1.01 l +1.27 1.00 l +1.28 1.00 l +1.27 1.00 l +1.28 1.00 l +1.27 1.01 l +1.28 1.00 l +1.27 1.00 l +1.27 1.01 l +1.28 1.00 l +1.27 1.00 l +1.28 1.01 l +1.27 1.00 l +1.28 1.00 l +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.27 1.00 l +1.28 1.01 l +1.27 1.00 l +1.28 1.01 l +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.28 1.00 l +326.62 301.28 lineto +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.00 l +1.27 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.00 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.00 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.02 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.27 1.01 l +1.28 1.01 l +1.27 1.01 l +1.28 1.02 l +1.27 1.01 l +1.28 1.01 l +o +/bg { 0.9490 0.9490 0.9490 } def +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +71.73 361.87 133.62 -51.84 r p3 +1.50 setlinewidth +[] 0 setdash +np +81.45 348.91 m +19.44 0 l +o +0 0.5451 0 rgb +1.50 setlinewidth +[ 0.00 6.00] 0 setdash +np +81.45 335.95 m +19.44 0 l +o +1 0 0 rgb +1.50 setlinewidth +[ 0.00 6.00 4.50 6.00] 0 setdash +np +81.45 322.99 m +19.44 0 l +o +/ps 11 def /Font1 findfont 11 s +0 0 0 rgb +110.61 344.96 (Fitted Line) 0 0 0 t +110.61 332.00 (Confidence Bands) 0 0 0 t +110.61 319.04 (Prediction Bands) 0 0 0 t +ep +%%Trailer +%%Pages: 1 +%%EOF diff --git a/branches/0.1/chemCal/inst/doc/chemCal-001.pdf b/branches/0.1/chemCal/inst/doc/chemCal-001.pdf new file mode 100644 index 0000000..d523025 --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal-001.pdf @@ -0,0 +1,1727 @@ +%PDF-1.1 +%âãÏÓ\r +1 0 obj +<< +/CreationDate (D:20060623184130) +/ModDate (D:20060623184130) +/Title (R Graphics Output) +/Producer (R 2.3.1) +/Creator (R) +>> +endobj +2 0 obj +<< +/Type /Catalog +/Pages 3 0 R +>> +endobj +5 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /ZapfDingbats +>> +endobj +6 0 obj +<< +/Type /Page +/Parent 3 0 R +/Contents 7 0 R +/Resources 4 0 R +>> +endobj +7 0 obj +<< +/Length 8 0 R +>> +stream
+q +Q q +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +71.73 73.44 m 389.07 73.44 l S +71.73 73.44 m 71.73 66.24 l S +135.20 73.44 m 135.20 66.24 l S +198.67 73.44 m 198.67 66.24 l S +262.13 73.44 m 262.13 66.24 l S +325.60 73.44 m 325.60 66.24 l S +389.07 73.44 m 389.07 66.24 l S +BT +0.000 0.000 0.000 rg +/F2 1 Tf 12.00 0.00 -0.00 12.00 68.40 47.52 Tm (0) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 128.53 47.52 Tm (10) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 191.99 47.52 Tm (20) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 255.46 47.52 Tm (30) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 318.93 47.52 Tm (40) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 382.39 47.52 Tm (50) Tj +ET +59.04 93.36 m 59.04 340.83 l S +59.04 93.36 m 51.84 93.36 l S +59.04 142.86 m 51.84 142.86 l S +59.04 192.35 m 51.84 192.35 l S +59.04 241.84 m 51.84 241.84 l S +59.04 291.34 m 51.84 291.34 l S +59.04 340.83 m 51.84 340.83 l S +BT +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 90.03 Tm (0) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 136.18 Tm (20) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 185.68 Tm (40) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 235.17 Tm (60) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 284.66 Tm (80) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 330.82 Tm (100) Tj +ET +59.04 73.44 m +401.76 73.44 l +401.76 372.96 l +59.04 372.96 l +59.04 73.44 l +S +Q q +BT +0.000 0.000 0.000 rg +/F2 1 Tf 12.00 0.00 -0.00 12.00 193.11 18.72 Tm (Concentration) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 12.96 196.19 Tm (Response) Tj +ET +Q q 59.04 73.44 342.72 299.52 re W n +1.000 1.000 0.000 rg +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +BT +/F1 1 Tf 2 Tr 7.48 0 0 7.48 68.77 100.67 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 132.24 145.21 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 195.70 199.65 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 259.17 239.25 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 322.64 276.37 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 386.10 348.13 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 68.77 98.19 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 132.24 140.26 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 195.70 204.60 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 259.17 246.67 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 322.64 291.22 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 386.10 360.51 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 68.77 100.67 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 132.24 142.74 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 195.70 202.13 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 259.17 239.25 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 322.64 286.27 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 386.10 355.56 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 68.77 103.14 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 132.24 145.21 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 195.70 199.65 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 259.17 246.67 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 322.64 283.79 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 386.10 340.71 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 68.77 100.67 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 132.24 142.74 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 195.70 199.65 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 259.17 246.67 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 322.64 281.32 Tm (l) Tj 0 Tr +/F1 1 Tf 2 Tr 7.48 0 0 7.48 386.10 350.61 Tm (l) Tj 0 Tr +ET +71.73 100.60 m +73.01 101.58 l +74.28 102.57 l +75.56 103.55 l +76.83 104.54 l +78.11 105.52 l +79.38 106.51 l +80.65 107.49 l +81.93 108.48 l +83.20 109.46 l +84.48 110.45 l +85.75 111.43 l +87.03 112.41 l +88.30 113.40 l +89.58 114.38 l +90.85 115.37 l +92.12 116.35 l +93.40 117.34 l +94.67 118.32 l +95.95 119.31 l +97.22 120.29 l +98.50 121.28 l +99.77 122.26 l +101.05 123.25 l +102.32 124.23 l +103.59 125.22 l +104.87 126.20 l +106.14 127.19 l +107.42 128.17 l +108.69 129.16 l +109.97 130.14 l +111.24 131.13 l +112.52 132.11 l +113.79 133.09 l +115.06 134.08 l +116.34 135.06 l +117.61 136.05 l +118.89 137.03 l +120.16 138.02 l +121.44 139.00 l +122.71 139.99 l +123.99 140.97 l +125.26 141.96 l +126.53 142.94 l +127.81 143.93 l +129.08 144.91 l +130.36 145.90 l +131.63 146.88 l +132.91 147.87 l +134.18 148.85 l +135.45 149.84 l +136.73 150.82 l +138.00 151.81 l +139.28 152.79 l +140.55 153.77 l +141.83 154.76 l +143.10 155.74 l +144.38 156.73 l +145.65 157.71 l +146.92 158.70 l +148.20 159.68 l +149.47 160.67 l +150.75 161.65 l +152.02 162.64 l +153.30 163.62 l +154.57 164.61 l +155.85 165.59 l +157.12 166.58 l +158.39 167.56 l +159.67 168.55 l +160.94 169.53 l +162.22 170.52 l +163.49 171.50 l +164.77 172.49 l +166.04 173.47 l +167.32 174.45 l +168.59 175.44 l +169.86 176.42 l +171.14 177.41 l +172.41 178.39 l +173.69 179.38 l +174.96 180.36 l +176.24 181.35 l +177.51 182.33 l +178.79 183.32 l +180.06 184.30 l +181.33 185.29 l +182.61 186.27 l +183.88 187.26 l +185.16 188.24 l +186.43 189.23 l +187.71 190.21 l +188.98 191.20 l +190.26 192.18 l +191.53 193.16 l +192.80 194.15 l +194.08 195.13 l +195.35 196.12 l +196.63 197.10 l +197.90 198.09 l +199.18 199.07 l +200.45 200.06 l +201.73 201.04 l +203.00 202.03 l +204.27 203.01 l +205.55 204.00 l +206.82 204.98 l +208.10 205.97 l +209.37 206.95 l +210.65 207.94 l +211.92 208.92 l +213.20 209.91 l +214.47 210.89 l +215.74 211.88 l +217.02 212.86 l +218.29 213.84 l +219.57 214.83 l +220.84 215.81 l +222.12 216.80 l +223.39 217.78 l +224.67 218.77 l +225.94 219.75 l +227.21 220.74 l +228.49 221.72 l +229.76 222.71 l +231.04 223.69 l +232.31 224.68 l +233.59 225.66 l +234.86 226.65 l +236.13 227.63 l +237.41 228.62 l +238.68 229.60 l +239.96 230.59 l +241.23 231.57 l +242.51 232.56 l +243.78 233.54 l +245.06 234.52 l +246.33 235.51 l +247.60 236.49 l +248.88 237.48 l +250.15 238.46 l +251.43 239.45 l +252.70 240.43 l +253.98 241.42 l +255.25 242.40 l +256.53 243.39 l +257.80 244.37 l +259.07 245.36 l +260.35 246.34 l +261.62 247.33 l +262.90 248.31 l +264.17 249.30 l +265.45 250.28 l +266.72 251.27 l +268.00 252.25 l +269.27 253.24 l +270.54 254.22 l +271.82 255.20 l +273.09 256.19 l +274.37 257.17 l +275.64 258.16 l +276.92 259.14 l +278.19 260.13 l +279.47 261.11 l +280.74 262.10 l +282.01 263.08 l +283.29 264.07 l +284.56 265.05 l +285.84 266.04 l +287.11 267.02 l +288.39 268.01 l +289.66 268.99 l +290.94 269.98 l +292.21 270.96 l +293.48 271.95 l +294.76 272.93 l +296.03 273.91 l +297.31 274.90 l +298.58 275.88 l +299.86 276.87 l +301.13 277.85 l +302.41 278.84 l +303.68 279.82 l +304.95 280.81 l +306.23 281.79 l +307.50 282.78 l +308.78 283.76 l +310.05 284.75 l +311.33 285.73 l +312.60 286.72 l +313.88 287.70 l +315.15 288.69 l +316.42 289.67 l +317.70 290.66 l +318.97 291.64 l +320.25 292.63 l +321.52 293.61 l +322.80 294.59 l +324.07 295.58 l +325.35 296.56 l +326.62 297.55 l +327.89 298.53 l +329.17 299.52 l +330.44 300.50 l +331.72 301.49 l +332.99 302.47 l +334.27 303.46 l +335.54 304.44 l +336.81 305.43 l +338.09 306.41 l +339.36 307.40 l +340.64 308.38 l +341.91 309.37 l +343.19 310.35 l +344.46 311.34 l +345.74 312.32 l +347.01 313.31 l +348.28 314.29 l +349.56 315.27 l +350.83 316.26 l +352.11 317.24 l +353.38 318.23 l +354.66 319.21 l +355.93 320.20 l +357.21 321.18 l +358.48 322.17 l +359.75 323.15 l +361.03 324.14 l +362.30 325.12 l +363.58 326.11 l +364.85 327.09 l +366.13 328.08 l +367.40 329.06 l +368.68 330.05 l +369.95 331.03 l +371.22 332.02 l +372.50 333.00 l +373.77 333.99 l +375.05 334.97 l +376.32 335.95 l +377.60 336.94 l +378.87 337.92 l +380.15 338.91 l +381.42 339.89 l +382.69 340.88 l +383.97 341.86 l +385.24 342.85 l +386.52 343.83 l +387.79 344.82 l +389.07 345.80 l +S +1.000 0.000 0.000 RG +0.75 w +[ 0.00 4.00 3.00 4.00] 0 d +71.73 84.53 m +73.01 85.53 l +74.28 86.52 l +75.56 87.51 l +76.83 88.51 l +78.11 89.50 l +79.38 90.49 l +80.65 91.48 l +81.93 92.48 l +83.20 93.47 l +84.48 94.46 l +85.75 95.45 l +87.03 96.45 l +88.30 97.44 l +89.58 98.43 l +90.85 99.42 l +92.12 100.41 l +93.40 101.41 l +94.67 102.40 l +95.95 103.39 l +97.22 104.38 l +98.50 105.37 l +99.77 106.37 l +101.05 107.36 l +102.32 108.35 l +103.59 109.34 l +104.87 110.33 l +106.14 111.32 l +107.42 112.32 l +108.69 113.31 l +109.97 114.30 l +111.24 115.29 l +112.52 116.28 l +113.79 117.27 l +115.06 118.26 l +116.34 119.25 l +117.61 120.24 l +118.89 121.23 l +120.16 122.22 l +121.44 123.22 l +122.71 124.21 l +123.99 125.20 l +125.26 126.19 l +126.53 127.18 l +127.81 128.17 l +129.08 129.16 l +130.36 130.15 l +131.63 131.14 l +132.91 132.13 l +134.18 133.12 l +135.45 134.11 l +136.73 135.10 l +138.00 136.09 l +139.28 137.08 l +140.55 138.07 l +141.83 139.06 l +143.10 140.05 l +144.38 141.04 l +145.65 142.02 l +146.92 143.01 l +148.20 144.00 l +149.47 144.99 l +150.75 145.98 l +152.02 146.97 l +153.30 147.96 l +154.57 148.95 l +155.85 149.94 l +157.12 150.93 l +158.39 151.91 l +159.67 152.90 l +160.94 153.89 l +162.22 154.88 l +163.49 155.87 l +164.77 156.86 l +166.04 157.85 l +167.32 158.83 l +168.59 159.82 l +169.86 160.81 l +171.14 161.80 l +172.41 162.79 l +173.69 163.77 l +174.96 164.76 l +176.24 165.75 l +177.51 166.74 l +178.79 167.72 l +180.06 168.71 l +181.33 169.70 l +182.61 170.69 l +183.88 171.67 l +185.16 172.66 l +186.43 173.65 l +187.71 174.64 l +188.98 175.62 l +190.26 176.61 l +191.53 177.60 l +192.80 178.58 l +194.08 179.57 l +195.35 180.56 l +196.63 181.54 l +197.90 182.53 l +199.18 183.52 l +200.45 184.50 l +201.73 185.49 l +203.00 186.48 l +204.27 187.46 l +205.55 188.45 l +206.82 189.43 l +208.10 190.42 l +209.37 191.41 l +210.65 192.39 l +211.92 193.38 l +213.20 194.36 l +214.47 195.35 l +215.74 196.33 l +217.02 197.32 l +218.29 198.31 l +219.57 199.29 l +220.84 200.28 l +222.12 201.26 l +223.39 202.25 l +224.67 203.23 l +225.94 204.22 l +227.21 205.20 l +228.49 206.19 l +229.76 207.17 l +231.04 208.16 l +232.31 209.14 l +233.59 210.13 l +234.86 211.11 l +236.13 212.09 l +237.41 213.08 l +238.68 214.06 l +239.96 215.05 l +241.23 216.03 l +242.51 217.02 l +243.78 218.00 l +245.06 218.98 l +246.33 219.97 l +247.60 220.95 l +248.88 221.94 l +250.15 222.92 l +251.43 223.90 l +252.70 224.89 l +253.98 225.87 l +255.25 226.85 l +256.53 227.84 l +257.80 228.82 l +259.07 229.80 l +260.35 230.79 l +261.62 231.77 l +262.90 232.75 l +264.17 233.74 l +265.45 234.72 l +266.72 235.70 l +268.00 236.68 l +269.27 237.67 l +270.54 238.65 l +271.82 239.63 l +273.09 240.61 l +274.37 241.60 l +275.64 242.58 l +276.92 243.56 l +278.19 244.54 l +279.47 245.53 l +280.74 246.51 l +282.01 247.49 l +283.29 248.47 l +284.56 249.45 l +285.84 250.43 l +287.11 251.42 l +288.39 252.40 l +289.66 253.38 l +290.94 254.36 l +292.21 255.34 l +293.48 256.32 l +294.76 257.31 l +296.03 258.29 l +297.31 259.27 l +298.58 260.25 l +299.86 261.23 l +301.13 262.21 l +302.41 263.19 l +303.68 264.17 l +304.95 265.15 l +306.23 266.13 l +307.50 267.11 l +308.78 268.10 l +310.05 269.08 l +311.33 270.06 l +312.60 271.04 l +313.88 272.02 l +315.15 273.00 l +316.42 273.98 l +317.70 274.96 l +318.97 275.94 l +320.25 276.92 l +321.52 277.90 l +322.80 278.88 l +324.07 279.86 l +325.35 280.84 l +326.62 281.82 l +327.89 282.80 l +329.17 283.78 l +330.44 284.75 l +331.72 285.73 l +332.99 286.71 l +334.27 287.69 l +335.54 288.67 l +336.81 289.65 l +338.09 290.63 l +339.36 291.61 l +340.64 292.59 l +341.91 293.57 l +343.19 294.55 l +344.46 295.52 l +345.74 296.50 l +347.01 297.48 l +348.28 298.46 l +349.56 299.44 l +350.83 300.42 l +352.11 301.39 l +353.38 302.37 l +354.66 303.35 l +355.93 304.33 l +357.21 305.31 l +358.48 306.29 l +359.75 307.26 l +361.03 308.24 l +362.30 309.22 l +363.58 310.20 l +364.85 311.17 l +366.13 312.15 l +367.40 313.13 l +368.68 314.11 l +369.95 315.08 l +371.22 316.06 l +372.50 317.04 l +373.77 318.02 l +375.05 318.99 l +376.32 319.97 l +377.60 320.95 l +378.87 321.92 l +380.15 322.90 l +381.42 323.88 l +382.69 324.85 l +383.97 325.83 l +385.24 326.81 l +386.52 327.78 l +387.79 328.76 l +389.07 329.74 l +S +71.73 116.66 m +73.01 117.64 l +74.28 118.62 l +75.56 119.59 l +76.83 120.57 l +78.11 121.55 l +79.38 122.52 l +80.65 123.50 l +81.93 124.48 l +83.20 125.45 l +84.48 126.43 l +85.75 127.41 l +87.03 128.38 l +88.30 129.36 l +89.58 130.34 l +90.85 131.32 l +92.12 132.29 l +93.40 133.27 l +94.67 134.25 l +95.95 135.23 l +97.22 136.20 l +98.50 137.18 l +99.77 138.16 l +101.05 139.14 l +102.32 140.11 l +103.59 141.09 l +104.87 142.07 l +106.14 143.05 l +107.42 144.03 l +108.69 145.01 l +109.97 145.98 l +111.24 146.96 l +112.52 147.94 l +113.79 148.92 l +115.06 149.90 l +116.34 150.88 l +117.61 151.85 l +118.89 152.83 l +120.16 153.81 l +121.44 154.79 l +122.71 155.77 l +123.99 156.75 l +125.26 157.73 l +126.53 158.71 l +127.81 159.69 l +129.08 160.67 l +130.36 161.65 l +131.63 162.62 l +132.91 163.60 l +134.18 164.58 l +135.45 165.56 l +136.73 166.54 l +138.00 167.52 l +139.28 168.50 l +140.55 169.48 l +141.83 170.46 l +143.10 171.44 l +144.38 172.42 l +145.65 173.40 l +146.92 174.38 l +148.20 175.36 l +149.47 176.34 l +150.75 177.32 l +152.02 178.30 l +153.30 179.29 l +154.57 180.27 l +155.85 181.25 l +157.12 182.23 l +158.39 183.21 l +159.67 184.19 l +160.94 185.17 l +162.22 186.15 l +163.49 187.13 l +164.77 188.11 l +166.04 189.09 l +167.32 190.08 l +168.59 191.06 l +169.86 192.04 l +171.14 193.02 l +172.41 194.00 l +173.69 194.98 l +174.96 195.97 l +176.24 196.95 l +177.51 197.93 l +178.79 198.91 l +180.06 199.89 l +181.33 200.87 l +182.61 201.86 l +183.88 202.84 l +185.16 203.82 l +186.43 204.80 l +187.71 205.79 l +188.98 206.77 l +190.26 207.75 l +191.53 208.73 l +192.80 209.72 l +194.08 210.70 l +195.35 211.68 l +196.63 212.66 l +197.90 213.65 l +199.18 214.63 l +200.45 215.61 l +201.73 216.60 l +203.00 217.58 l +204.27 218.56 l +205.55 219.55 l +206.82 220.53 l +208.10 221.51 l +209.37 222.50 l +210.65 223.48 l +211.92 224.46 l +213.20 225.45 l +214.47 226.43 l +215.74 227.42 l +217.02 228.40 l +218.29 229.38 l +219.57 230.37 l +220.84 231.35 l +222.12 232.34 l +223.39 233.32 l +224.67 234.31 l +225.94 235.29 l +227.21 236.27 l +228.49 237.26 l +229.76 238.24 l +231.04 239.23 l +232.31 240.21 l +233.59 241.20 l +234.86 242.18 l +236.13 243.17 l +237.41 244.15 l +238.68 245.14 l +239.96 246.12 l +241.23 247.11 l +242.51 248.09 l +243.78 249.08 l +245.06 250.07 l +246.33 251.05 l +247.60 252.04 l +248.88 253.02 l +250.15 254.01 l +251.43 254.99 l +252.70 255.98 l +253.98 256.97 l +255.25 257.95 l +256.53 258.94 l +257.80 259.92 l +259.07 260.91 l +260.35 261.90 l +261.62 262.88 l +262.90 263.87 l +264.17 264.86 l +265.45 265.84 l +266.72 266.83 l +268.00 267.82 l +269.27 268.80 l +270.54 269.79 l +271.82 270.78 l +273.09 271.76 l +274.37 272.75 l +275.64 273.74 l +276.92 274.73 l +278.19 275.71 l +279.47 276.70 l +280.74 277.69 l +282.01 278.68 l +283.29 279.66 l +284.56 280.65 l +285.84 281.64 l +287.11 282.63 l +288.39 283.61 l +289.66 284.60 l +290.94 285.59 l +292.21 286.58 l +293.48 287.57 l +294.76 288.55 l +296.03 289.54 l +297.31 290.53 l +298.58 291.52 l +299.86 292.51 l +301.13 293.50 l +302.41 294.49 l +303.68 295.47 l +304.95 296.46 l +306.23 297.45 l +307.50 298.44 l +308.78 299.43 l +310.05 300.42 l +311.33 301.41 l +312.60 302.40 l +313.88 303.39 l +315.15 304.38 l +316.42 305.36 l +317.70 306.35 l +318.97 307.34 l +320.25 308.33 l +321.52 309.32 l +322.80 310.31 l +324.07 311.30 l +325.35 312.29 l +326.62 313.28 l +327.89 314.27 l +329.17 315.26 l +330.44 316.25 l +331.72 317.24 l +332.99 318.23 l +334.27 319.22 l +335.54 320.21 l +336.81 321.20 l +338.09 322.19 l +339.36 323.18 l +340.64 324.18 l +341.91 325.17 l +343.19 326.16 l +344.46 327.15 l +345.74 328.14 l +347.01 329.13 l +348.28 330.12 l +349.56 331.11 l +350.83 332.10 l +352.11 333.09 l +353.38 334.08 l +354.66 335.08 l +355.93 336.07 l +357.21 337.06 l +358.48 338.05 l +359.75 339.04 l +361.03 340.03 l +362.30 341.03 l +363.58 342.02 l +364.85 343.01 l +366.13 344.00 l +367.40 344.99 l +368.68 345.99 l +369.95 346.98 l +371.22 347.97 l +372.50 348.96 l +373.77 349.95 l +375.05 350.95 l +376.32 351.94 l +377.60 352.93 l +378.87 353.92 l +380.15 354.92 l +381.42 355.91 l +382.69 356.90 l +383.97 357.89 l +385.24 358.89 l +386.52 359.88 l +387.79 360.87 l +389.07 361.87 l +S +0.000 0.000 0.000 RG +0.75 w +[] 0 d +71.73 100.60 m +73.01 101.58 l +74.28 102.57 l +75.56 103.55 l +76.83 104.54 l +78.11 105.52 l +79.38 106.51 l +80.65 107.49 l +81.93 108.48 l +83.20 109.46 l +84.48 110.45 l +85.75 111.43 l +87.03 112.41 l +88.30 113.40 l +89.58 114.38 l +90.85 115.37 l +92.12 116.35 l +93.40 117.34 l +94.67 118.32 l +95.95 119.31 l +97.22 120.29 l +98.50 121.28 l +99.77 122.26 l +101.05 123.25 l +102.32 124.23 l +103.59 125.22 l +104.87 126.20 l +106.14 127.19 l +107.42 128.17 l +108.69 129.16 l +109.97 130.14 l +111.24 131.13 l +112.52 132.11 l +113.79 133.09 l +115.06 134.08 l +116.34 135.06 l +117.61 136.05 l +118.89 137.03 l +120.16 138.02 l +121.44 139.00 l +122.71 139.99 l +123.99 140.97 l +125.26 141.96 l +126.53 142.94 l +127.81 143.93 l +129.08 144.91 l +130.36 145.90 l +131.63 146.88 l +132.91 147.87 l +134.18 148.85 l +135.45 149.84 l +136.73 150.82 l +138.00 151.81 l +139.28 152.79 l +140.55 153.77 l +141.83 154.76 l +143.10 155.74 l +144.38 156.73 l +145.65 157.71 l +146.92 158.70 l +148.20 159.68 l +149.47 160.67 l +150.75 161.65 l +152.02 162.64 l +153.30 163.62 l +154.57 164.61 l +155.85 165.59 l +157.12 166.58 l +158.39 167.56 l +159.67 168.55 l +160.94 169.53 l +162.22 170.52 l +163.49 171.50 l +164.77 172.49 l +166.04 173.47 l +167.32 174.45 l +168.59 175.44 l +169.86 176.42 l +171.14 177.41 l +172.41 178.39 l +173.69 179.38 l +174.96 180.36 l +176.24 181.35 l +177.51 182.33 l +178.79 183.32 l +180.06 184.30 l +181.33 185.29 l +182.61 186.27 l +183.88 187.26 l +185.16 188.24 l +186.43 189.23 l +187.71 190.21 l +188.98 191.20 l +190.26 192.18 l +191.53 193.16 l +192.80 194.15 l +194.08 195.13 l +195.35 196.12 l +196.63 197.10 l +197.90 198.09 l +199.18 199.07 l +200.45 200.06 l +201.73 201.04 l +203.00 202.03 l +204.27 203.01 l +205.55 204.00 l +206.82 204.98 l +208.10 205.97 l +209.37 206.95 l +210.65 207.94 l +211.92 208.92 l +213.20 209.91 l +214.47 210.89 l +215.74 211.88 l +217.02 212.86 l +218.29 213.84 l +219.57 214.83 l +220.84 215.81 l +222.12 216.80 l +223.39 217.78 l +224.67 218.77 l +225.94 219.75 l +227.21 220.74 l +228.49 221.72 l +229.76 222.71 l +231.04 223.69 l +232.31 224.68 l +233.59 225.66 l +234.86 226.65 l +236.13 227.63 l +237.41 228.62 l +238.68 229.60 l +239.96 230.59 l +241.23 231.57 l +242.51 232.56 l +243.78 233.54 l +245.06 234.52 l +246.33 235.51 l +247.60 236.49 l +248.88 237.48 l +250.15 238.46 l +251.43 239.45 l +252.70 240.43 l +253.98 241.42 l +255.25 242.40 l +256.53 243.39 l +257.80 244.37 l +259.07 245.36 l +260.35 246.34 l +261.62 247.33 l +262.90 248.31 l +264.17 249.30 l +265.45 250.28 l +266.72 251.27 l +268.00 252.25 l +269.27 253.24 l +270.54 254.22 l +271.82 255.20 l +273.09 256.19 l +274.37 257.17 l +275.64 258.16 l +276.92 259.14 l +278.19 260.13 l +279.47 261.11 l +280.74 262.10 l +282.01 263.08 l +283.29 264.07 l +284.56 265.05 l +285.84 266.04 l +287.11 267.02 l +288.39 268.01 l +289.66 268.99 l +290.94 269.98 l +292.21 270.96 l +293.48 271.95 l +294.76 272.93 l +296.03 273.91 l +297.31 274.90 l +298.58 275.88 l +299.86 276.87 l +301.13 277.85 l +302.41 278.84 l +303.68 279.82 l +304.95 280.81 l +306.23 281.79 l +307.50 282.78 l +308.78 283.76 l +310.05 284.75 l +311.33 285.73 l +312.60 286.72 l +313.88 287.70 l +315.15 288.69 l +316.42 289.67 l +317.70 290.66 l +318.97 291.64 l +320.25 292.63 l +321.52 293.61 l +322.80 294.59 l +324.07 295.58 l +325.35 296.56 l +326.62 297.55 l +327.89 298.53 l +329.17 299.52 l +330.44 300.50 l +331.72 301.49 l +332.99 302.47 l +334.27 303.46 l +335.54 304.44 l +336.81 305.43 l +338.09 306.41 l +339.36 307.40 l +340.64 308.38 l +341.91 309.37 l +343.19 310.35 l +344.46 311.34 l +345.74 312.32 l +347.01 313.31 l +348.28 314.29 l +349.56 315.27 l +350.83 316.26 l +352.11 317.24 l +353.38 318.23 l +354.66 319.21 l +355.93 320.20 l +357.21 321.18 l +358.48 322.17 l +359.75 323.15 l +361.03 324.14 l +362.30 325.12 l +363.58 326.11 l +364.85 327.09 l +366.13 328.08 l +367.40 329.06 l +368.68 330.05 l +369.95 331.03 l +371.22 332.02 l +372.50 333.00 l +373.77 333.99 l +375.05 334.97 l +376.32 335.95 l +377.60 336.94 l +378.87 337.92 l +380.15 338.91 l +381.42 339.89 l +382.69 340.88 l +383.97 341.86 l +385.24 342.85 l +386.52 343.83 l +387.79 344.82 l +389.07 345.80 l +S +0.000 0.545 0.000 RG +0.75 w +[ 0.00 4.00] 0 d +71.73 95.65 m +73.01 96.66 l +74.28 97.67 l +75.56 98.69 l +76.83 99.70 l +78.11 100.71 l +79.38 101.72 l +80.65 102.73 l +81.93 103.74 l +83.20 104.75 l +84.48 105.77 l +85.75 106.78 l +87.03 107.79 l +88.30 108.80 l +89.58 109.81 l +90.85 110.82 l +92.12 111.83 l +93.40 112.84 l +94.67 113.85 l +95.95 114.86 l +97.22 115.87 l +98.50 116.88 l +99.77 117.89 l +101.05 118.90 l +102.32 119.91 l +103.59 120.92 l +104.87 121.93 l +106.14 122.94 l +107.42 123.95 l +108.69 124.96 l +109.97 125.97 l +111.24 126.98 l +112.52 127.99 l +113.79 129.00 l +115.06 130.00 l +116.34 131.01 l +117.61 132.02 l +118.89 133.03 l +120.16 134.04 l +121.44 135.05 l +122.71 136.05 l +123.99 137.06 l +125.26 138.07 l +126.53 139.08 l +127.81 140.08 l +129.08 141.09 l +130.36 142.10 l +131.63 143.11 l +132.91 144.11 l +134.18 145.12 l +135.45 146.13 l +136.73 147.13 l +138.00 148.14 l +139.28 149.14 l +140.55 150.15 l +141.83 151.16 l +143.10 152.16 l +144.38 153.17 l +145.65 154.17 l +146.92 155.18 l +148.20 156.18 l +149.47 157.19 l +150.75 158.19 l +152.02 159.19 l +153.30 160.20 l +154.57 161.20 l +155.85 162.20 l +157.12 163.21 l +158.39 164.21 l +159.67 165.21 l +160.94 166.22 l +162.22 167.22 l +163.49 168.22 l +164.77 169.22 l +166.04 170.22 l +167.32 171.23 l +168.59 172.23 l +169.86 173.23 l +171.14 174.23 l +172.41 175.23 l +173.69 176.23 l +174.96 177.23 l +176.24 178.23 l +177.51 179.23 l +178.79 180.23 l +180.06 181.23 l +181.33 182.22 l +182.61 183.22 l +183.88 184.22 l +185.16 185.22 l +186.43 186.21 l +187.71 187.21 l +188.98 188.21 l +190.26 189.20 l +191.53 190.20 l +192.80 191.20 l +194.08 192.19 l +195.35 193.19 l +196.63 194.18 l +197.90 195.18 l +199.18 196.17 l +200.45 197.16 l +201.73 198.16 l +203.00 199.15 l +204.27 200.14 l +205.55 201.13 l +206.82 202.13 l +208.10 203.12 l +209.37 204.11 l +210.65 205.10 l +211.92 206.09 l +213.20 207.08 l +214.47 208.07 l +215.74 209.06 l +217.02 210.05 l +218.29 211.04 l +219.57 212.03 l +220.84 213.01 l +222.12 214.00 l +223.39 214.99 l +224.67 215.97 l +225.94 216.96 l +227.21 217.95 l +228.49 218.93 l +229.76 219.92 l +231.04 220.90 l +232.31 221.89 l +233.59 222.87 l +234.86 223.85 l +236.13 224.84 l +237.41 225.82 l +238.68 226.80 l +239.96 227.78 l +241.23 228.77 l +242.51 229.75 l +243.78 230.73 l +245.06 231.71 l +246.33 232.69 l +247.60 233.67 l +248.88 234.65 l +250.15 235.63 l +251.43 236.61 l +252.70 237.58 l +253.98 238.56 l +255.25 239.54 l +256.53 240.52 l +257.80 241.49 l +259.07 242.47 l +260.35 243.45 l +261.62 244.42 l +262.90 245.40 l +264.17 246.37 l +265.45 247.35 l +266.72 248.32 l +268.00 249.30 l +269.27 250.27 l +270.54 251.24 l +271.82 252.22 l +273.09 253.19 l +274.37 254.16 l +275.64 255.14 l +276.92 256.11 l +278.19 257.08 l +279.47 258.05 l +280.74 259.02 l +282.01 259.99 l +283.29 260.96 l +284.56 261.93 l +285.84 262.90 l +287.11 263.87 l +288.39 264.84 l +289.66 265.81 l +290.94 266.78 l +292.21 267.75 l +293.48 268.72 l +294.76 269.68 l +296.03 270.65 l +297.31 271.62 l +298.58 272.59 l +299.86 273.56 l +301.13 274.52 l +302.41 275.49 l +303.68 276.46 l +304.95 277.42 l +306.23 278.39 l +307.50 279.35 l +308.78 280.32 l +310.05 281.28 l +311.33 282.25 l +312.60 283.21 l +313.88 284.18 l +315.15 285.14 l +316.42 286.11 l +317.70 287.07 l +318.97 288.04 l +320.25 289.00 l +321.52 289.96 l +322.80 290.93 l +324.07 291.89 l +325.35 292.85 l +326.62 293.82 l +327.89 294.78 l +329.17 295.74 l +330.44 296.71 l +331.72 297.67 l +332.99 298.63 l +334.27 299.59 l +335.54 300.55 l +336.81 301.52 l +338.09 302.48 l +339.36 303.44 l +340.64 304.40 l +341.91 305.36 l +343.19 306.32 l +344.46 307.28 l +345.74 308.25 l +347.01 309.21 l +348.28 310.17 l +349.56 311.13 l +350.83 312.09 l +352.11 313.05 l +353.38 314.01 l +354.66 314.97 l +355.93 315.93 l +357.21 316.89 l +358.48 317.85 l +359.75 318.81 l +361.03 319.77 l +362.30 320.73 l +363.58 321.69 l +364.85 322.65 l +366.13 323.60 l +367.40 324.56 l +368.68 325.52 l +369.95 326.48 l +371.22 327.44 l +372.50 328.40 l +373.77 329.36 l +375.05 330.32 l +376.32 331.27 l +377.60 332.23 l +378.87 333.19 l +380.15 334.15 l +381.42 335.11 l +382.69 336.07 l +383.97 337.02 l +385.24 337.98 l +386.52 338.94 l +387.79 339.90 l +389.07 340.86 l +S +71.73 105.54 m +73.01 106.50 l +74.28 107.46 l +75.56 108.42 l +76.83 109.38 l +78.11 110.33 l +79.38 111.29 l +80.65 112.25 l +81.93 113.21 l +83.20 114.17 l +84.48 115.13 l +85.75 116.08 l +87.03 117.04 l +88.30 118.00 l +89.58 118.96 l +90.85 119.92 l +92.12 120.88 l +93.40 121.84 l +94.67 122.80 l +95.95 123.75 l +97.22 124.71 l +98.50 125.67 l +99.77 126.63 l +101.05 127.59 l +102.32 128.55 l +103.59 129.51 l +104.87 130.47 l +106.14 131.43 l +107.42 132.39 l +108.69 133.35 l +109.97 134.31 l +111.24 135.27 l +112.52 136.23 l +113.79 137.19 l +115.06 138.15 l +116.34 139.12 l +117.61 140.08 l +118.89 141.04 l +120.16 142.00 l +121.44 142.96 l +122.71 143.92 l +123.99 144.88 l +125.26 145.85 l +126.53 146.81 l +127.81 147.77 l +129.08 148.73 l +130.36 149.69 l +131.63 150.66 l +132.91 151.62 l +134.18 152.58 l +135.45 153.55 l +136.73 154.51 l +138.00 155.47 l +139.28 156.44 l +140.55 157.40 l +141.83 158.36 l +143.10 159.33 l +144.38 160.29 l +145.65 161.26 l +146.92 162.22 l +148.20 163.19 l +149.47 164.15 l +150.75 165.12 l +152.02 166.08 l +153.30 167.05 l +154.57 168.01 l +155.85 168.98 l +157.12 169.94 l +158.39 170.91 l +159.67 171.88 l +160.94 172.84 l +162.22 173.81 l +163.49 174.78 l +164.77 175.75 l +166.04 176.72 l +167.32 177.68 l +168.59 178.65 l +169.86 179.62 l +171.14 180.59 l +172.41 181.56 l +173.69 182.53 l +174.96 183.50 l +176.24 184.47 l +177.51 185.44 l +178.79 186.41 l +180.06 187.38 l +181.33 188.35 l +182.61 189.32 l +183.88 190.29 l +185.16 191.26 l +186.43 192.24 l +187.71 193.21 l +188.98 194.18 l +190.26 195.16 l +191.53 196.13 l +192.80 197.10 l +194.08 198.08 l +195.35 199.05 l +196.63 200.03 l +197.90 201.00 l +199.18 201.98 l +200.45 202.95 l +201.73 203.93 l +203.00 204.91 l +204.27 205.88 l +205.55 206.86 l +206.82 207.84 l +208.10 208.82 l +209.37 209.79 l +210.65 210.77 l +211.92 211.75 l +213.20 212.73 l +214.47 213.71 l +215.74 214.69 l +217.02 215.67 l +218.29 216.65 l +219.57 217.63 l +220.84 218.62 l +222.12 219.60 l +223.39 220.58 l +224.67 221.56 l +225.94 222.55 l +227.21 223.53 l +228.49 224.51 l +229.76 225.50 l +231.04 226.48 l +232.31 227.47 l +233.59 228.45 l +234.86 229.44 l +236.13 230.43 l +237.41 231.41 l +238.68 232.40 l +239.96 233.39 l +241.23 234.37 l +242.51 235.36 l +243.78 236.35 l +245.06 237.34 l +246.33 238.33 l +247.60 239.32 l +248.88 240.31 l +250.15 241.30 l +251.43 242.29 l +252.70 243.28 l +253.98 244.27 l +255.25 245.27 l +256.53 246.26 l +257.80 247.25 l +259.07 248.24 l +260.35 249.24 l +261.62 250.23 l +262.90 251.22 l +264.17 252.22 l +265.45 253.21 l +266.72 254.21 l +268.00 255.20 l +269.27 256.20 l +270.54 257.20 l +271.82 258.19 l +273.09 259.19 l +274.37 260.19 l +275.64 261.18 l +276.92 262.18 l +278.19 263.18 l +279.47 264.18 l +280.74 265.17 l +282.01 266.17 l +283.29 267.17 l +284.56 268.17 l +285.84 269.17 l +287.11 270.17 l +288.39 271.17 l +289.66 272.17 l +290.94 273.17 l +292.21 274.17 l +293.48 275.17 l +294.76 276.18 l +296.03 277.18 l +297.31 278.18 l +298.58 279.18 l +299.86 280.18 l +301.13 281.19 l +302.41 282.19 l +303.68 283.19 l +304.95 284.20 l +306.23 285.20 l +307.50 286.20 l +308.78 287.21 l +310.05 288.21 l +311.33 289.21 l +312.60 290.22 l +313.88 291.22 l +315.15 292.23 l +316.42 293.23 l +317.70 294.24 l +318.97 295.24 l +320.25 296.25 l +321.52 297.26 l +322.80 298.26 l +324.07 299.27 l +325.35 300.27 l +326.62 301.28 l +327.89 302.29 l +329.17 303.29 l +330.44 304.30 l +331.72 305.31 l +332.99 306.32 l +334.27 307.32 l +335.54 308.33 l +336.81 309.34 l +338.09 310.35 l +339.36 311.35 l +340.64 312.36 l +341.91 313.37 l +343.19 314.38 l +344.46 315.39 l +345.74 316.40 l +347.01 317.40 l +348.28 318.41 l +349.56 319.42 l +350.83 320.43 l +352.11 321.44 l +353.38 322.45 l +354.66 323.46 l +355.93 324.47 l +357.21 325.48 l +358.48 326.49 l +359.75 327.50 l +361.03 328.51 l +362.30 329.52 l +363.58 330.53 l +364.85 331.54 l +366.13 332.55 l +367.40 333.56 l +368.68 334.57 l +369.95 335.58 l +371.22 336.59 l +372.50 337.60 l +373.77 338.61 l +375.05 339.62 l +376.32 340.63 l +377.60 341.65 l +378.87 342.66 l +380.15 343.67 l +381.42 344.68 l +382.69 345.69 l +383.97 346.70 l +385.24 347.71 l +386.52 348.73 l +387.79 349.74 l +389.07 350.75 l +S +0.949 0.949 0.949 rg +0.000 0.000 0.000 RG +0.75 w +[] 0 d +71.73 361.87 133.62 -51.84 re B +1.50 w +[] 0 d +81.45 348.91 m 100.89 348.91 l S +0.000 0.545 0.000 RG +1.50 w +[ 0.00 6.00] 0 d +81.45 335.95 m 100.89 335.95 l S +1.000 0.000 0.000 RG +1.50 w +[ 0.00 6.00 4.50 6.00] 0 d +81.45 322.99 m 100.89 322.99 l S +BT +0.000 0.000 0.000 rg +/F2 1 Tf 11.00 0.00 -0.00 11.00 110.61 344.96 Tm (Fitted Line) Tj +/F2 1 Tf 11.00 0.00 -0.00 11.00 110.61 332.00 Tm (Confidence Bands) Tj +/F2 1 Tf 11.00 0.00 -0.00 11.00 110.61 319.04 Tm (Prediction Bands) Tj +ET +Q +endstream +endobj +8 0 obj +27782 +endobj +3 0 obj +<< +/Type /Pages +/Kids [ +6 0 R +] +/Count 1 +/MediaBox [0 0 432 432] +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /Text] +/Font << /F1 5 0 R /F2 10 0 R >> +/ExtGState << >> +>> +endobj +9 0 obj +<< +/Type /Encoding +/BaseEncoding /WinAnsiEncoding +/Differences [ 45/minus 96/quoteleft +144/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent +/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space] +>> +endobj +10 0 obj << +/Type /Font +/Subtype /Type1 +/Name /F2 +/BaseFont /Helvetica +/Encoding 9 0 R +>> endobj +xref +0 11 +0000000000 65535 f +0000000021 00000 n +0000000163 00000 n +0000028231 00000 n +0000028314 00000 n +0000000212 00000 n +0000000295 00000 n +0000000375 00000 n +0000028210 00000 n +0000028407 00000 n +0000028664 00000 n +trailer +<< +/Size 11 +/Info 1 0 R +/Root 2 0 R +>> +startxref +28761 +%%EOF diff --git a/branches/0.1/chemCal/inst/doc/chemCal-002.eps b/branches/0.1/chemCal/inst/doc/chemCal-002.eps new file mode 100644 index 0000000..c0ee749 --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal-002.eps @@ -0,0 +1,288 @@ +%!PS-Adobe-3.0 +%%DocumentNeededResources: font Helvetica +%%+ font Helvetica-Bold +%%+ font Helvetica-Oblique +%%+ font Helvetica-BoldOblique +%%+ font Symbol +%%DocumentMedia: special 432 432 0 () () +%%Title: R Graphics Output +%%Creator: R Software +%%Pages: (atend) +%%BoundingBox: 0 0 432 432 +%%EndComments +%%BeginProlog +/bp { gs gs } def +% begin .ps.prolog +/gs { gsave } def +/gr { grestore } def +/ep { showpage gr gr } def +/m { moveto } def +/l { rlineto } def +/np { newpath } def +/cp { closepath } def +/f { fill } def +/o { stroke } def +/c { newpath 0 360 arc } def +/r { 4 2 roll moveto 1 copy 3 -1 roll exch 0 exch rlineto 0 rlineto -1 mul 0 exch rlineto closepath } def +/p1 { stroke } def +/p2 { gsave bg setrgbcolor fill grestore newpath } def +/p3 { gsave bg setrgbcolor fill grestore stroke } def +/t { 6 -2 roll moveto gsave rotate + ps mul neg 0 2 1 roll rmoveto + 1 index stringwidth pop + mul neg 0 rmoveto show grestore } def +/cl { grestore gsave newpath 3 index 3 index moveto 1 index + 4 -1 roll lineto exch 1 index lineto lineto + closepath clip newpath } def +/rgb { setrgbcolor } def +/s { scalefont setfont } def +% end .ps.prolog +%%IncludeResource: font Helvetica +/Helvetica findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font1 exch definefont pop +%%IncludeResource: font Helvetica-Bold +/Helvetica-Bold findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font2 exch definefont pop +%%IncludeResource: font Helvetica-Oblique +/Helvetica-Oblique findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font3 exch definefont pop +%%IncludeResource: font Helvetica-BoldOblique +/Helvetica-BoldOblique findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end +/Font4 exch definefont pop +%%IncludeResource: font Symbol +/Symbol findfont +dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + currentdict + end +/Font5 exch definefont pop +%%EndProlog +%%Page: 1 1 +bp +0.00 0.00 432.00 432.00 cl +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +np +62.37 73.44 m +320.26 0 l +o +np +62.37 73.44 m +0 -7.20 l +o +np +126.42 73.44 m +0 -7.20 l +o +np +190.47 73.44 m +0 -7.20 l +o +np +254.53 73.44 m +0 -7.20 l +o +np +318.58 73.44 m +0 -7.20 l +o +np +382.63 73.44 m +0 -7.20 l +o +/ps 12 def /Font1 findfont 12 s +62.37 47.52 (0) .5 0 0 t +126.42 47.52 (20) .5 0 0 t +190.47 47.52 (40) .5 0 0 t +254.53 47.52 (60) .5 0 0 t +318.58 47.52 (80) .5 0 0 t +382.63 47.52 (100) .5 0 0 t +np +59.04 84.53 m +0 265.28 l +o +np +59.04 84.53 m +-7.20 0 l +o +np +59.04 172.96 m +-7.20 0 l +o +np +59.04 261.38 m +-7.20 0 l +o +np +59.04 349.81 m +-7.20 0 l +o +41.76 84.53 (0.0) .5 0 90 t +41.76 172.96 (0.5) .5 0 90 t +41.76 261.38 (1.0) .5 0 90 t +41.76 349.81 (1.5) .5 0 90 t +np +59.04 73.44 m +342.72 0 l +0 299.52 l +-342.72 0 l +0 -299.52 l +o +0.00 0.00 432.00 432.00 cl +/ps 12 def /Font1 findfont 12 s +0 0 0 rgb +230.40 18.72 (Fitted values) .5 0 0 t +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +np +12.17 157.30 m +-0.87 1.55 l +4.54 1.55 l +-11.58 2.07 l +0 126.08 l +o +np +15.84 164.28 m +-9.07 0 l +o +15.61 164.83 (S) 0 0 90 t +15.61 172.84 (t) 0 0 90 t +15.61 176.17 (a) 0 0 90 t +15.61 182.84 (n) 0 0 90 t +15.61 189.52 (d) 0 0 90 t +15.61 196.19 (a) 0 0 90 t +15.61 202.86 (r) 0 0 90 t +15.61 206.86 (d) 0 0 90 t +15.61 213.53 (i) 0 0 90 t +15.61 216.19 (z) 0 0 90 t +15.61 222.19 (e) 0 0 90 t +15.61 228.86 (d) 0 0 90 t +15.61 235.54 ( ) 0 0 90 t +15.61 238.87 (r) 0 0 90 t +15.61 242.87 (e) 0 0 90 t +15.61 249.54 (s) 0 0 90 t +15.61 255.54 (i) 0 0 90 t +15.61 258.20 (d) 0 0 90 t +15.61 264.88 (u) 0 0 90 t +15.61 271.55 (a) 0 0 90 t +15.61 278.22 (l) 0 0 90 t +15.61 280.88 (s) 0 0 90 t +np +15.84 287.44 m +-9.07 0 l +o +59.04 73.44 401.76 372.96 cl +0 0 0 rgb +0.75 setlinewidth +[] 0 setdash +1 setlinecap +1 setlinejoin +10.00 setmiterlimit +71.73 193.16 2.70 c p1 +135.20 173.55 2.70 c p1 +198.67 207.97 2.70 c p1 +262.13 242.95 2.70 c p1 +325.60 361.87 2.70 c p1 +389.07 232.26 2.70 c p1 +71.73 113.44 2.70 c p1 +135.20 255.74 2.70 c p1 +198.67 275.24 2.70 c p1 +262.13 165.78 2.70 c p1 +325.60 197.45 2.70 c p1 +389.07 361.37 2.70 c p1 +71.73 193.16 2.70 c p1 +135.20 220.98 2.70 c p1 +198.67 245.16 2.70 c p1 +262.13 242.95 2.70 c p1 +325.60 269.30 2.70 c p1 +389.07 318.44 2.70 c p1 +71.73 235.40 2.70 c p1 +135.20 173.55 2.70 c p1 +198.67 207.97 2.70 c p1 +262.13 165.78 2.70 c p1 +325.60 296.27 2.70 c p1 +389.07 189.74 2.70 c p1 +71.73 193.16 2.70 c p1 +135.20 220.98 2.70 c p1 +198.67 207.97 2.70 c p1 +262.13 165.78 2.70 c p1 +325.60 320.17 2.70 c p1 +389.07 265.60 2.70 c p1 +1 0 0 rgb +np +71.73 188.63 m +0 0 l +0 0 l +0 0 l +0 0 l +63.47 19.56 l +0 0 l +0 0 l +0 0 l +0 0 l +63.47 6.32 l +0 0 l +0 0 l +0 0 l +0 0 l +63.46 17.52 l +0 0 l +0 0 l +0 0 l +0 0 l +63.47 25.69 l +0 0 l +0 0 l +0 0 l +0 0 l +63.47 30.70 l +0 0 l +0 0 l +0 0 l +0 0 l +o +0.00 0.00 432.00 432.00 cl +/ps 12 def /Font1 findfont 12 s +0 0 0 rgb +230.40 4.32 (lm\(y ~ x\)) .5 0 0 t +0.00 0.00 432.00 432.00 cl +/ps 12 def /Font1 findfont 12 s +0 0 0 rgb +230.40 379.44 (Scale-Location) .5 0 0 t +0.00 0.00 432.00 432.00 cl +/ps 9 def /Font1 findfont 9 s +0 0 0 rgb +329.20 359.71 (5) 0 0 0 t +385.47 359.22 (12) 1 0 0 t +329.20 318.02 (29) 0 0 0 t +ep +%%Trailer +%%Pages: 1 +%%EOF diff --git a/branches/0.1/chemCal/inst/doc/chemCal-002.pdf b/branches/0.1/chemCal/inst/doc/chemCal-002.pdf new file mode 100644 index 0000000..a227e73 --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal-002.pdf @@ -0,0 +1,275 @@ +%PDF-1.1 +%âãÏÓ\r +1 0 obj +<< +/CreationDate (D:20060623184132) +/ModDate (D:20060623184132) +/Title (R Graphics Output) +/Producer (R 2.3.1) +/Creator (R) +>> +endobj +2 0 obj +<< +/Type /Catalog +/Pages 3 0 R +>> +endobj +5 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /ZapfDingbats +>> +endobj +6 0 obj +<< +/Type /Page +/Parent 3 0 R +/Contents 7 0 R +/Resources 4 0 R +>> +endobj +7 0 obj +<< +/Length 8 0 R +>> +stream
+q +Q q +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +62.37 73.44 m 382.63 73.44 l S +62.37 73.44 m 62.37 66.24 l S +126.42 73.44 m 126.42 66.24 l S +190.47 73.44 m 190.47 66.24 l S +254.53 73.44 m 254.53 66.24 l S +318.58 73.44 m 318.58 66.24 l S +382.63 73.44 m 382.63 66.24 l S +BT +0.000 0.000 0.000 rg +/F2 1 Tf 12.00 0.00 -0.00 12.00 59.03 47.52 Tm (0) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 119.75 47.52 Tm (20) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 183.80 47.52 Tm (40) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 247.85 47.52 Tm (60) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 311.91 47.52 Tm (80) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 372.62 47.52 Tm (100) Tj +ET +59.04 84.53 m 59.04 349.81 l S +59.04 84.53 m 51.84 84.53 l S +59.04 172.96 m 51.84 172.96 l S +59.04 261.38 m 51.84 261.38 l S +59.04 349.81 m 51.84 349.81 l S +BT +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 76.19 Tm (0.0) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 164.62 Tm (0.5) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 253.04 Tm (1.0) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 341.47 Tm (1.5) Tj +ET +59.04 73.44 m +401.76 73.44 l +401.76 372.96 l +59.04 372.96 l +59.04 73.44 l +S +Q q +BT +0.000 0.000 0.000 rg +/F2 1 Tf 12.00 0.00 -0.00 12.00 196.54 18.72 Tm (Fitted values) Tj +ET +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +12.17 157.30 m +11.30 158.85 l +15.84 160.40 l +4.26 162.47 l +4.26 288.55 l +S +15.84 164.28 m +6.77 164.28 l +S +BT +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 164.83 Tm (S) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 172.84 Tm (t) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 176.17 Tm (a) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 182.84 Tm (n) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 189.52 Tm (d) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 196.19 Tm (a) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 202.86 Tm (r) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 206.86 Tm (d) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 213.53 Tm (i) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 216.19 Tm (z) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 222.19 Tm (e) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 228.86 Tm (d) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 235.54 Tm ( ) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 238.87 Tm (r) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 242.87 Tm (e) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 249.54 Tm (s) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 255.54 Tm (i) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 258.20 Tm (d) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 264.88 Tm (u) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 271.55 Tm (a) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 278.22 Tm (l) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 15.61 280.88 Tm (s) Tj +ET +15.84 287.44 m +6.77 287.44 l +S +Q q 59.04 73.44 342.72 299.52 re W n +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +BT +/F1 1 Tf 1 Tr 7.48 0 0 7.48 68.77 190.56 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 132.24 170.95 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 195.70 205.37 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 259.17 240.36 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 322.64 359.27 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 386.10 229.66 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 68.77 110.84 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 132.24 253.14 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 195.70 272.64 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 259.17 163.19 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 322.64 194.86 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 386.10 358.78 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 68.77 190.56 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 132.24 218.38 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 195.70 242.57 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 259.17 240.36 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 322.64 266.70 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 386.10 315.85 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 68.77 232.81 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 132.24 170.95 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 195.70 205.37 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 259.17 163.19 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 322.64 293.67 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 386.10 187.14 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 68.77 190.56 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 132.24 218.38 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 195.70 205.37 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 259.17 163.19 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 322.64 317.58 Tm (l) Tj 0 Tr +/F1 1 Tf 1 Tr 7.48 0 0 7.48 386.10 263.01 Tm (l) Tj 0 Tr +ET +1.000 0.000 0.000 RG +71.73 188.63 m +71.73 188.63 l +71.73 188.63 l +71.73 188.63 l +71.73 188.63 l +135.20 208.19 l +135.20 208.19 l +135.20 208.19 l +135.20 208.19 l +135.20 208.19 l +198.67 214.51 l +198.67 214.51 l +198.67 214.51 l +198.67 214.51 l +198.67 214.51 l +262.13 232.03 l +262.13 232.03 l +262.13 232.03 l +262.13 232.03 l +262.13 232.03 l +325.60 257.72 l +325.60 257.72 l +325.60 257.72 l +325.60 257.72 l +325.60 257.72 l +389.07 288.42 l +389.07 288.42 l +389.07 288.42 l +389.07 288.42 l +389.07 288.42 l +S +Q q +BT +0.000 0.000 0.000 rg +/F2 1 Tf 12.00 0.00 -0.00 12.00 207.23 4.32 Tm (lm\(y ~ x\)) Tj +ET +Q q +BT +0.000 0.000 0.000 rg +/F2 1 Tf 12.00 0.00 -0.00 12.00 189.21 379.44 Tm (Scale-Location) Tj +ET +Q q +BT +0.000 0.000 0.000 rg +/F2 1 Tf 9.00 0.00 -0.00 9.00 329.20 359.71 Tm (5) Tj +/F2 1 Tf 9.00 0.00 -0.00 9.00 375.46 359.22 Tm (12) Tj +/F2 1 Tf 9.00 0.00 -0.00 9.00 329.20 318.02 Tm (29) Tj +ET +Q +endstream +endobj +8 0 obj +5297 +endobj +3 0 obj +<< +/Type /Pages +/Kids [ +6 0 R +] +/Count 1 +/MediaBox [0 0 432 432] +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /Text] +/Font << /F1 5 0 R /F2 10 0 R >> +/ExtGState << >> +>> +endobj +9 0 obj +<< +/Type /Encoding +/BaseEncoding /WinAnsiEncoding +/Differences [ 45/minus 96/quoteleft +144/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent +/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space] +>> +endobj +10 0 obj << +/Type /Font +/Subtype /Type1 +/Name /F2 +/BaseFont /Helvetica +/Encoding 9 0 R +>> endobj +xref +0 11 +0000000000 65535 f +0000000021 00000 n +0000000163 00000 n +0000005745 00000 n +0000005828 00000 n +0000000212 00000 n +0000000295 00000 n +0000000375 00000 n +0000005725 00000 n +0000005921 00000 n +0000006178 00000 n +trailer +<< +/Size 11 +/Info 1 0 R +/Root 2 0 R +>> +startxref +6275 +%%EOF diff --git a/branches/0.1/chemCal/inst/doc/chemCal.Rnw b/branches/0.1/chemCal/inst/doc/chemCal.Rnw new file mode 100644 index 0000000..8cdc97c --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal.Rnw @@ -0,0 +1,130 @@ +\documentclass[a4paper]{article} +%\VignetteIndexEntry{Short manual for the chemCal package} +\usepackage{hyperref} + +\title{Basic calibration functions for analytical chemistry} +\author{Johannes Ranke} + +\begin{document} +\maketitle + +The \texttt{chemCal} package was first designed in the course of a lecture and lab +course on "analytics of organic trace contaminants" at the University of Bremen +from October to December 2004. In the fall 2005, an email exchange with +Ron Wehrens led to the belief that it would be desirable to implement the +inverse prediction method given in \cite{massart97} since it also covers the +case of weighted regression. Studies of the IUPAC orange book and of DIN 32645 +as well as publications by Currie and the Analytical Method Committee of the +Royal Society of Chemistry and a nice paper by Castillo and Castells provided +further understanding of the matter. + +At the moment, the package consists of four functions, working on univariate +linear models of class \texttt{lm} or \texttt{rlm}, plus to datasets for +validation. + +A \href{http://bugs.r-project.org/cgi-bin/R/wishlst-fulfilled?id=8877;user=guest}{bug +report (PR\#8877)} and the following e-mail exchange on the r-devel mailing list about +prediction intervals from weighted regression entailed some further studies +on this subject. However, I did not encounter any proof or explanation of the +formula cited below yet, so I can't really confirm that Massart's method is correct. + +When calibrating an analytical method, the first task is to generate a suitable +model. If we want to use the \texttt{chemCal} functions, we will have to restrict +ourselves to univariate, possibly weighted, linear regression so far. + +Once such a model has been created, the calibration can be graphically +shown by using the \texttt{calplot} function: + +<<echo=TRUE,fig=TRUE>>= +library(chemCal) +data(massart97ex3) +m0 <- lm(y ~ x, data = massart97ex3) +calplot(m0) +@ + +As we can see, the scatter increases with increasing x. This is also +illustrated by one of the diagnostic plots for linear models +provided by R: + +<<echo=TRUE,fig=TRUE>>= +plot(m0,which=3) +@ + +Therefore, in Example 8 in \cite{massart97} weighted regression +is proposed which can be reproduced by + +<<>>= +attach(massart97ex3) +yx <- split(y, x) +ybar <- sapply(yx, mean) +s <- round(sapply(yx, sd), digits = 2) +w <- round(1 / (s^2), digits = 3) +weights <- w[factor(x)] +m <- lm(y ~ x, w = weights) +@ + +If we now want to predict a new x value from measured y values, +we use the \texttt{inverse.predict} function: + +<<>>= +inverse.predict(m, 15, ws=1.67) +inverse.predict(m, 90, ws = 0.145) +@ + +The weight \texttt{ws} assigned to the measured y value has to be +given by the user in the case of weighted regression, or alternatively, +the approximate variance \texttt{var.s} at this location. + +\section*{Theory for \texttt{inverse.predict}} +Equation 8.28 in \cite{massart97} gives a general equation for predicting the +standard error $s_{\hat{x_s}}$ for an x value predicted from measurements of y +according to the linear calibration function $ y = b_0 + b_1 \cdot x$: + +\begin{equation} +s_{\hat{x_s}} = \frac{s_e}{b_1} \sqrt{\frac{1}{w_s m} + \frac{1}{\sum{w_i}} + + \frac{(\bar{y_s} - \bar{y_w})^2 \sum{w_i}} + {{b_1}^2 \left( \sum{w_i} \sum{w_i {x_i}^2} - + {\left( \sum{ w_i x_i } \right)}^2 \right) }} +\end{equation} + +with + +\begin{equation} +s_e = \sqrt{ \frac{\sum w_i (y_i - \hat{y_i})^2}{n - 2}} +\end{equation} + +where $w_i$ is the weight for calibration standard $i$, $y_i$ is the mean $y$ +value (!) observed for standard $i$, $\hat{y_i}$ is the estimated value for +standard $i$, $n$ is the number calibration standards, $w_s$ is the weight +attributed to the sample $s$, $m$ is the number of replicate measurements of +sample $s$, $\bar{y_s}$ is the mean response for the sample, +$\bar{y_w} = \frac{\sum{w_i y_i}}{\sum{w_i}}$ is the weighted mean of responses +$y_i$, and $x_i$ is the given $x$ value for standard $i$. + +The weight $w_s$ for the sample should be estimated or calculated in accordance +to the weights used in the linear regression. + +I adjusted the above equation in order to be able to take a different +precisions in standards and samples into account. In analogy to Equation 8.26 +from \cite{massart97} we get + +\begin{equation} +s_{\hat{x_s}} = \frac{1}{b_1} \sqrt{\frac{{s_s}^2}{w_s m} + + {s_e}^2 \left( \frac{1}{\sum{w_i}} + + \frac{(\bar{y_s} - \bar{y_w})^2 \sum{w_i}} + {{b_1}^2 \left( \sum{w_i} \sum{w_i {x_i}^2} - {\left( \sum{ w_i x_i } \right)}^2 \right) } \right) } +\end{equation} + +where I interpret $\frac{{s_s}^2}{w_s}$ as an estimator of the variance at location +$\hat{x_s}$, which can be replaced by a user-specified value using the argument +\texttt{var.s} of the function \texttt{inverse.predict}. + +\begin{thebibliography}{1} +\bibitem{massart97} +Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., +Smeyers-Verbeke, J. +\newblock Handbook of Chemometrics and Qualimetrics: Part A, +\newblock Elsevier, Amsterdam, 1997 +\end{thebibliography} + +\end{document} diff --git a/branches/0.1/chemCal/inst/doc/chemCal.aux b/branches/0.1/chemCal/inst/doc/chemCal.aux new file mode 100644 index 0000000..20bfc98 --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal.aux @@ -0,0 +1,18 @@ +\relax +\ifx\hyper@anchor\@undefined +\global \let \oldcontentsline\contentsline +\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global \let \oldnewlabel\newlabel +\gdef \newlabel#1#2{\newlabelxx{#1}#2} +\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\let \contentsline\oldcontentsline +\let \newlabel\oldnewlabel} +\else +\global \let \hyper@last\relax +\fi + +\citation{massart97} +\citation{massart97} +\citation{massart97} +\citation{massart97} +\bibcite{massart97}{1} diff --git a/branches/0.1/chemCal/inst/doc/chemCal.bbl b/branches/0.1/chemCal/inst/doc/chemCal.bbl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal.bbl diff --git a/branches/0.1/chemCal/inst/doc/chemCal.blg b/branches/0.1/chemCal/inst/doc/chemCal.blg new file mode 100644 index 0000000..72f5a0e --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal.blg @@ -0,0 +1,46 @@ +This is BibTeX, Version 0.99c (Web2C 7.5.4) +The top-level auxiliary file: chemCal.aux +I found no \bibdata command---while reading file chemCal.aux +I found no \bibstyle command---while reading file chemCal.aux +You've used 1 entry, + 0 wiz_defined-function locations, + 84 strings with 497 characters, +and the built_in function-call counts, 0 in all, are: += -- 0 +> -- 0 +< -- 0 ++ -- 0 +- -- 0 +* -- 0 +:= -- 0 +add.period$ -- 0 +call.type$ -- 0 +change.case$ -- 0 +chr.to.int$ -- 0 +cite$ -- 0 +duplicate$ -- 0 +empty$ -- 0 +format.name$ -- 0 +if$ -- 0 +int.to.chr$ -- 0 +int.to.str$ -- 0 +missing$ -- 0 +newline$ -- 0 +num.names$ -- 0 +pop$ -- 0 +preamble$ -- 0 +purify$ -- 0 +quote$ -- 0 +skip$ -- 0 +stack$ -- 0 +substring$ -- 0 +swap$ -- 0 +text.length$ -- 0 +text.prefix$ -- 0 +top$ -- 0 +type$ -- 0 +warning$ -- 0 +while$ -- 0 +width$ -- 0 +write$ -- 0 +(There were 2 error messages) diff --git a/branches/0.1/chemCal/inst/doc/chemCal.log b/branches/0.1/chemCal/inst/doc/chemCal.log new file mode 100644 index 0000000..a21c788 --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal.log @@ -0,0 +1,362 @@ +This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=pdflatex 2006.5.30) 23 JUN 2006 18:41 +entering extended mode +**chemCal.tex +(./chemCal.tex +LaTeX2e <2003/12/01> +Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b +ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e +stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis +h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur +kish, ukrainian, nohyphenation, loaded. +(/usr/share/texmf-tetex/tex/latex/base/article.cls +Document Class: article 2004/02/16 v1.4f Standard LaTeX document class +(/usr/share/texmf-tetex/tex/latex/base/size10.clo +File: size10.clo 2004/02/16 v1.4f Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texmf-tetex/tex/latex/hyperref/hyperref.sty +Package: hyperref 2003/11/30 v6.74m Hypertext links for LaTeX + +(/usr/share/texmf-tetex/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks14 +) +\@linkdim=\dimen103 +\Hy@linkcounter=\count87 +\Hy@pagecounter=\count88 + +(/usr/share/texmf-tetex/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2003/11/30 v6.74m Hyperref: PDFDocEncoding definition (HO) +) +(/usr/share/texmf-tetex/tex/latex/hyperref/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive and teTeX +) +Package hyperref Info: Hyper figures OFF on input line 1880. +Package hyperref Info: Link nesting OFF on input line 1885. +Package hyperref Info: Hyper index ON on input line 1888. +Package hyperref Info: Plain pages ON on input line 1893. +Package hyperref Info: Backreferencing OFF on input line 1900. + +Implicit mode ON; LaTeX internals redefined +Package hyperref Info: Bookmarks ON on input line 2004. +(/usr/share/texmf-tetex/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2004/03/15 ver 3.1 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 2143. +\Fld@menulength=\count89 +\Field@Width=\dimen104 +\Fld@charsize=\dimen105 +\Choice@toks=\toks15 +\Field@toks=\toks16 +Package hyperref Info: Hyper figures OFF on input line 2618. +Package hyperref Info: Link nesting OFF on input line 2623. +Package hyperref Info: Hyper index ON on input line 2626. +Package hyperref Info: backreferencing OFF on input line 2633. +Package hyperref Info: Link coloring OFF on input line 2638. +\c@Item=\count90 +\c@Hfootnote=\count91 +) +*hyperref using default driver hpdftex* +(/usr/share/texmf-tetex/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2003/11/30 v6.74m Hyperref driver for pdfTeX + +(/usr/share/texmf-tetex/tex/latex/psnfss/pifont.sty +Package: pifont 2004/09/15 PSNFSS-v9.2 Pi font support (SPQR) +LaTeX Font Info: Try loading font information for U+pzd on input line 63. + +(/usr/share/texmf-tetex/tex/latex/psnfss/upzd.fd +File: upzd.fd 2001/06/04 font definitions for U/pzd. +) +LaTeX Font Info: Try loading font information for U+psy on input line 64. + +(/usr/share/texmf-tetex/tex/latex/psnfss/upsy.fd +File: upsy.fd 2001/06/04 font definitions for U/psy. +)) +\Fld@listcount=\count92 +\@outlinefile=\write3 +) +(/usr/share/R/share/texmf/Sweave.sty + +LaTeX Warning: You have requested package `/usr/share/R/share/texmf/Sweave', + but the package provides `Sweave'. + +Package: Sweave +(/usr/share/texmf-tetex/tex/latex/base/ifthen.sty +Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) +) +(/usr/share/texmf-tetex/tex/latex/graphics/graphicx.sty +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-tetex/tex/latex/graphics/graphics.sty +Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-tetex/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +) +(/usr/share/texmf-tetex/tex/latex/graphics/graphics.cfg +File: graphics.cfg 2005/02/03 v1.3 graphics configuration of teTeX/TeXLive +) +Package graphics Info: Driver file: pdftex.def on input line 80. + +(/usr/share/texmf-tetex/tex/latex/graphics/pdftex.def +File: pdftex.def 2002/06/19 v0.03k graphics/color for pdftex +\Gread@gobject=\count93 +)) +\Gin@req@height=\dimen106 +\Gin@req@width=\dimen107 +) +(/usr/share/texmf-tetex/tex/latex/fancyvrb/fancyvrb.sty +Package: fancyvrb 1998/07/17 + +Style option: `fancyvrb' v2.6, with DG/SPQR fixes <1998/07/17> (tvz) +\FV@CodeLineNo=\count94 +\FV@InFile=\read1 +\FV@TabBox=\box26 +\c@FancyVerbLine=\count95 +\FV@StepNumber=\count96 +\FV@OutFile=\write4 + +No file fancyvrb.cfg. +) (/usr/share/R/share/texmf/upquote.sty +Package: upquote 2003/08/11 v1.1 Covington's upright-quote modification to verb +atim and verb + +(/usr/share/texmf-tetex/tex/latex/base/textcomp.sty +Package: textcomp 2004/02/22 v1.99f Standard LaTeX package +Package textcomp Info: Sub-encoding information: +(textcomp) 5 = only ISO-Adobe without \textcurrency +(textcomp) 4 = 5 + \texteuro +(textcomp) 3 = 4 + \textohm +(textcomp) 2 = 3 + \textestimated + \textcurrency +(textcomp) 1 = TS1 - \textcircled - \t +(textcomp) 0 = TS1 (full) +(textcomp) Font families with sub-encoding setting implement +(textcomp) only a restricted character set as indicated. +(textcomp) Family '?' is the default used for unknown fonts. +(textcomp) See the documentation for details. +Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71. + +(/usr/share/texmf-tetex/tex/latex/base/ts1enc.def +File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file +) +LaTeX Info: Redefining \oldstylenums on input line 266. +Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281. +Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282. +Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283. +Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284. +Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285. +Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286. +Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287. +Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288. +Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289. +Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290. +Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291. +Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292. +Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293. +Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294. +Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295. +Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296. +Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297. +Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298. +Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299. +Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300. +Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301. +Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302. +Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303. +Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304. + +Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305. +Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306. +Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307. +Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308. +Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309. +Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310. +Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 311. +Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 312. +Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 313. +Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 314. +Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 315. +Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 316. +Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 317. +Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 318. +Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 319. +Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 320. +Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 321. +Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 322. +Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 323. +Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 324. +Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 325. +Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 326. +)) +(/usr/share/texmf-tetex/tex/latex/base/fontenc.sty +Package: fontenc 2004/02/22 v1.99f Standard LaTeX package + +(/usr/share/texmf-tetex/tex/latex/base/t1enc.def +File: t1enc.def 2004/02/22 v1.99f Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 43. +)) +(/usr/share/texmf-tetex/tex/latex/ae/ae.sty +Package: ae 2001/02/12 1.3 Almost European Computer Modern + +(/usr/share/texmf-tetex/tex/latex/base/fontenc.sty +Package: fontenc 2004/02/22 v1.99f Standard LaTeX package + +(/usr/share/texmf-tetex/tex/latex/base/t1enc.def +File: t1enc.def 2004/02/22 v1.99f Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 43. +) +LaTeX Font Info: Try loading font information for T1+aer on input line 100. + +(/usr/share/texmf-tetex/tex/latex/ae/t1aer.fd +File: t1aer.fd 1997/11/16 Font definitions for T1/aer. +)))) (./chemCal.aux) +\openout1 = `chemCal.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 9. +LaTeX Font Info: Try loading font information for TS1+cmr on input line 9. + +(/usr/share/texmf-tetex/tex/latex/base/ts1cmr.fd +File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 9. +Package hyperref Info: Link coloring OFF on input line 9. + +(/usr/share/texmf-tetex/tex/latex/hyperref/nameref.sty +Package: nameref 2003/12/03 v2.21 Cross-referencing by name of section +\c@section@level=\count97 +) +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. + (./chemCal.out) +(./chemCal.out) +\openout3 = `chemCal.out'. + + (/usr/share/texmf-tetex/tex/context/base/supp-pdf.tex +(/usr/share/texmf-tetex/tex/context/base/supp-mis.tex +loading : Context Support Macros / Miscellaneous (2004.10.26) +\protectiondepth=\count98 +\scratchcounter=\count99 +\scratchtoks=\toks17 +\scratchdimen=\dimen108 +\scratchskip=\skip43 +\scratchmuskip=\muskip11 +\scratchbox=\box27 +\scratchread=\read2 +\scratchwrite=\write5 +\zeropoint=\dimen109 +\onepoint=\dimen110 +\onebasepoint=\dimen111 +\minusone=\count100 +\thousandpoint=\dimen112 +\onerealpoint=\dimen113 +\emptytoks=\toks18 +\nextbox=\box28 +\nextdepth=\dimen114 +\everyline=\toks19 +\!!counta=\count101 +\!!countb=\count102 +\recursecounter=\count103 +) +loading : Context Support Macros / PDF (2004.03.26) +\nofMPsegments=\count104 +\nofMParguments=\count105 +\MPscratchCnt=\count106 +\MPscratchDim=\dimen115 +\MPnumerator=\count107 +\everyMPtoPDFconversion=\toks20 +) +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +LaTeX Font Info: Try loading font information for T1+aett on input line 12. + (/usr/share/texmf-tetex/tex/latex/ae/t1aett.fd +File: t1aett.fd 1997/11/16 Font definitions for T1/aett. +) +<chemCal-001.pdf, id=7, 433.62pt x 433.62pt> +File: chemCal-001.pdf Graphic file (type pdf) + <use chemCal-001.pdf> [1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +<chemCal-002.pdf, id=31, 433.62pt x 433.62pt> +File: chemCal-002.pdf Graphic file (type pdf) + <use chemCal-002.pdf> [2 <./chemCal-001.pdf>] +LaTeX Font Info: Try loading font information for TS1+aett on input line 86. + + (/usr/share/R/share/texmf/ts1aett.fd +File: ts1aett.fd +) +LaTeX Font Info: Try loading font information for TS1+cmtt on input line 86. + + +(/usr/share/texmf-tetex/tex/latex/base/ts1cmtt.fd +File: ts1cmtt.fd 1999/05/25 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `TS1/aett/m/n' in size <10> not available +(Font) Font shape `TS1/cmtt/m/n' tried instead on input line 86. + [3 <./chemCal-002.pdf>] + +LaTeX Font Warning: Font shape `T1/aett/bx/n' undefined +(Font) using `T1/aett/m/n' instead on input line 117. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 119. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 119. +[4] [5] (./chemCal.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 3773 strings out of 94499 + 51971 string characters out of 1175813 + 97245 words of memory out of 1000000 + 6867 multiletter control sequences out of 10000+50000 + 22264 words of font info for 54 fonts, out of 500000 for 2000 + 580 hyphenation exceptions out of 8191 + 35i,7n,21p,255b,283s stack positions out of 1500i,500n,5000p,200000b,5000s +PDF statistics: + 93 PDF objects out of 300000 + 12 named destinations out of 131072 + 27 words of extra memory for PDF output out of 65536 +</usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmr5.pfb></usr/share/texmf-tet +ex/fonts/type1/bluesky/cm/cmex10.pfb></usr/share/texmf-tetex/fonts/type1/bluesk +y/cm/cmsy10.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmmi5.pfb></usr/ +share/texmf-tetex/fonts/type1/bluesky/cm/cmmi7.pfb></usr/share/texmf-tetex/font +s/type1/bluesky/cm/cmr7.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmmi +10.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmtt12.pfb></usr/share/te +xmf-tetex/fonts/type1/bluesky/cm/cmbx12.pfb> </var/cache/fonts/pk/ljfour/jknapp +en/tc/tctt1000.600pk></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmsltt10.pf +b></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmtt10.pfb></usr/share/texmf-t +etex/fonts/type1/bluesky/cm/cmr10.pfb></usr/share/texmf-tetex/fonts/type1/blues +ky/cm/cmr12.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmr17.pfb> +Output written on chemCal.pdf (5 pages, 123694 bytes). diff --git a/branches/0.1/chemCal/inst/doc/chemCal.out b/branches/0.1/chemCal/inst/doc/chemCal.out new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal.out diff --git a/branches/0.1/chemCal/inst/doc/chemCal.pdf b/branches/0.1/chemCal/inst/doc/chemCal.pdf Binary files differnew file mode 100644 index 0000000..c7a01d7 --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal.pdf diff --git a/branches/0.1/chemCal/inst/doc/chemCal.tex b/branches/0.1/chemCal/inst/doc/chemCal.tex new file mode 100644 index 0000000..9617cda --- /dev/null +++ b/branches/0.1/chemCal/inst/doc/chemCal.tex @@ -0,0 +1,169 @@ +\documentclass[a4paper]{article} +%\VignetteIndexEntry{Short manual for the chemCal package} +\usepackage{hyperref} + +\title{Basic calibration functions for analytical chemistry} +\author{Johannes Ranke} + +\usepackage{/usr/share/R/share/texmf/Sweave} +\begin{document} +\maketitle + +The \texttt{chemCal} package was first designed in the course of a lecture and lab +course on "analytics of organic trace contaminants" at the University of Bremen +from October to December 2004. In the fall 2005, an email exchange with +Ron Wehrens led to the belief that it would be desirable to implement the +inverse prediction method given in \cite{massart97} since it also covers the +case of weighted regression. Studies of the IUPAC orange book and of DIN 32645 +as well as publications by Currie and the Analytical Method Committee of the +Royal Society of Chemistry and a nice paper by Castillo and Castells provided +further understanding of the matter. + +At the moment, the package consists of four functions, working on univariate +linear models of class \texttt{lm} or \texttt{rlm}, plus to datasets for +validation. + +A \href{http://bugs.r-project.org/cgi-bin/R/wishlst-fulfilled?id=8877;user=guest}{bug +report (PR\#8877)} and the following e-mail exchange on the r-devel mailing list about +prediction intervals from weighted regression entailed some further studies +on this subject. However, I did not encounter any proof or explanation of the +formula cited below yet, so I can't really confirm that Massart's method is correct. + +When calibrating an analytical method, the first task is to generate a suitable +model. If we want to use the \texttt{chemCal} functions, we will have to restrict +ourselves to univariate, possibly weighted, linear regression so far. + +Once such a model has been created, the calibration can be graphically +shown by using the \texttt{calplot} function: + +\begin{Schunk} +\begin{Sinput} +> library(chemCal) +> data(massart97ex3) +> m0 <- lm(y ~ x, data = massart97ex3) +> calplot(m0) +\end{Sinput} +\end{Schunk} +\includegraphics{chemCal-001} + +As we can see, the scatter increases with increasing x. This is also +illustrated by one of the diagnostic plots for linear models +provided by R: + +\begin{Schunk} +\begin{Sinput} +> plot(m0, which = 3) +\end{Sinput} +\end{Schunk} +\includegraphics{chemCal-002} + +Therefore, in Example 8 in \cite{massart97} weighted regression +is proposed which can be reproduced by + +\begin{Schunk} +\begin{Sinput} +> attach(massart97ex3) +> yx <- split(y, x) +> ybar <- sapply(yx, mean) +> s <- round(sapply(yx, sd), digits = 2) +> w <- round(1/(s^2), digits = 3) +> weights <- w[factor(x)] +> m <- lm(y ~ x, w = weights) +\end{Sinput} +\end{Schunk} + +If we now want to predict a new x value from measured y values, +we use the \texttt{inverse.predict} function: + +\begin{Schunk} +\begin{Sinput} +> inverse.predict(m, 15, ws = 1.67) +\end{Sinput} +\begin{Soutput} +$Prediction +[1] 5.865367 + +$`Standard Error` +[1] 0.892611 + +$Confidence +[1] 2.478285 + +$`Confidence Limits` +[1] 3.387082 8.343652 +\end{Soutput} +\begin{Sinput} +> inverse.predict(m, 90, ws = 0.145) +\end{Sinput} +\begin{Soutput} +$Prediction +[1] 44.06025 + +$`Standard Error` +[1] 2.829162 + +$Confidence +[1] 7.855012 + +$`Confidence Limits` +[1] 36.20523 51.91526 +\end{Soutput} +\end{Schunk} + +The weight \texttt{ws} assigned to the measured y value has to be +given by the user in the case of weighted regression, or alternatively, +the approximate variance \texttt{var.s} at this location. + +\section*{Theory for \texttt{inverse.predict}} +Equation 8.28 in \cite{massart97} gives a general equation for predicting the +standard error $s_{\hat{x_s}}$ for an x value predicted from measurements of y +according to the linear calibration function $ y = b_0 + b_1 \cdot x$: + +\begin{equation} +s_{\hat{x_s}} = \frac{s_e}{b_1} \sqrt{\frac{1}{w_s m} + \frac{1}{\sum{w_i}} + + \frac{(\bar{y_s} - \bar{y_w})^2 \sum{w_i}} + {{b_1}^2 \left( \sum{w_i} \sum{w_i {x_i}^2} - + {\left( \sum{ w_i x_i } \right)}^2 \right) }} +\end{equation} + +with + +\begin{equation} +s_e = \sqrt{ \frac{\sum w_i (y_i - \hat{y_i})^2}{n - 2}} +\end{equation} + +where $w_i$ is the weight for calibration standard $i$, $y_i$ is the mean $y$ +value (!) observed for standard $i$, $\hat{y_i}$ is the estimated value for +standard $i$, $n$ is the number calibration standards, $w_s$ is the weight +attributed to the sample $s$, $m$ is the number of replicate measurements of +sample $s$, $\bar{y_s}$ is the mean response for the sample, +$\bar{y_w} = \frac{\sum{w_i y_i}}{\sum{w_i}}$ is the weighted mean of responses +$y_i$, and $x_i$ is the given $x$ value for standard $i$. + +The weight $w_s$ for the sample should be estimated or calculated in accordance +to the weights used in the linear regression. + +I adjusted the above equation in order to be able to take a different +precisions in standards and samples into account. In analogy to Equation 8.26 +from \cite{massart97} we get + +\begin{equation} +s_{\hat{x_s}} = \frac{1}{b_1} \sqrt{\frac{{s_s}^2}{w_s m} + + {s_e}^2 \left( \frac{1}{\sum{w_i}} + + \frac{(\bar{y_s} - \bar{y_w})^2 \sum{w_i}} + {{b_1}^2 \left( \sum{w_i} \sum{w_i {x_i}^2} - {\left( \sum{ w_i x_i } \right)}^2 \right) } \right) } +\end{equation} + +where I interpret $\frac{{s_s}^2}{w_s}$ as an estimator of the variance at location +$\hat{x_s}$, which can be replaced by a user-specified value using the argument +\texttt{var.s} of the function \texttt{inverse.predict}. + +\begin{thebibliography}{1} +\bibitem{massart97} +Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., +Smeyers-Verbeke, J. +\newblock Handbook of Chemometrics and Qualimetrics: Part A, +\newblock Elsevier, Amsterdam, 1997 +\end{thebibliography} + +\end{document} diff --git a/branches/0.1/chemCal/man/calplot.lm.Rd b/branches/0.1/chemCal/man/calplot.lm.Rd new file mode 100644 index 0000000..6f6d584 --- /dev/null +++ b/branches/0.1/chemCal/man/calplot.lm.Rd @@ -0,0 +1,62 @@ +\name{calplot} +\alias{calplot} +\alias{calplot.default} +\alias{calplot.lm} +\title{Plot calibration graphs from univariate linear models} +\description{ + Produce graphics of calibration data, the fitted model as well + as confidence, and, for unweighted regression, prediction bands. +} +\usage{ + calplot(object, xlim = c("auto", "auto"), ylim = c("auto", "auto"), + xlab = "Concentration", ylab = "Response", alpha=0.05, varfunc = NULL) +} +\arguments{ + \item{object}{ + A univariate model object of class \code{\link{lm}} or + \code{\link[MASS:rlm]{rlm}} + with model formula \code{y ~ x} or \code{y ~ x - 1}. + } + \item{xlim}{ + The limits of the plot on the x axis. + } + \item{ylim}{ + The limits of the plot on the y axis. + } + \item{xlab}{ + The label of the x axis. + } + \item{ylab}{ + The label of the y axis. + } + \item{alpha}{ + The error tolerance level for the confidence and prediction bands. + } + \item{varfunc}{ + The variance function for generating the weights in the model. + Currently, this argument is ignored (see note below). + } +} +\value{ + A plot of the calibration data, of your fitted model as well as lines showing + the confidence limits. Prediction limits are only shown for models from + unweighted regression. +} +\note{ + Prediction bands for models from weighted linear regression require weights + for the data, for which responses should be predicted. Prediction intervals + using weights e.g. from a variance function are currently not supported by + the internally used function \code{\link{predict.lm}}, therefore, + \code{calplot} does not draw prediction bands for such models. +} +\examples{ +data(massart97ex3) +m <- lm(y ~ x, data = massart97ex3) +calplot(m) +} +\author{ + Johannes Ranke + \email{jranke@uni-bremen.de} + \url{http://www.uft.uni-bremen.de/chemie/ranke} +} +\keyword{regression} diff --git a/branches/0.1/chemCal/man/chemCal-package.Rd b/branches/0.1/chemCal/man/chemCal-package.Rd new file mode 100644 index 0000000..4456150 --- /dev/null +++ b/branches/0.1/chemCal/man/chemCal-package.Rd @@ -0,0 +1,17 @@ +\name{chemCal-package} +\alias{chemCal-package} +\docType{package} +\title{ + Calibration functions for analytical chemistry +} +\description{ + See \url{../DESCRIPTION} +} +\details{ + There is a package vignette located in \url{../doc/chemCal.pdf}. +} +\author{ + Author and Maintainer: Johannes Ranke <jranke@uni-bremen.de> +} +\keyword{manip} +} diff --git a/branches/0.1/chemCal/man/din32645.Rd b/branches/0.1/chemCal/man/din32645.Rd new file mode 100644 index 0000000..cacbf07 --- /dev/null +++ b/branches/0.1/chemCal/man/din32645.Rd @@ -0,0 +1,61 @@ +\name{din32645} +\docType{data} +\alias{din32645} +\title{Calibration data from DIN 32645} +\description{ + Sample dataset to test the package. +} +\usage{data(din32645)} +\format{ + A dataframe containing 10 rows of x and y values. +} +\examples{ +data(din32645) +m <- lm(y ~ x, data = din32645) +calplot(m) + +## Prediction of x with confidence interval +(prediction <- inverse.predict(m, 3500, alpha = 0.01)) + +# This should give 0.07434 according to test data from Dintest, which +# was collected from Procontrol 3.1 (isomehr GmbH) in this case +round(prediction$Confidence,5) + +## Critical value: +(crit <- lod(m, alpha = 0.01, beta = 0.5)) + +# According to DIN 32645, we should get 0.07 for the critical value +# (decision limit, "Nachweisgrenze") +round(crit$x, 2) +# and according to Dintest test data, we should get 0.0698 from +round(crit$x, 4) + +## Limit of detection (smallest detectable value given alpha and beta) +# In German, the smallest detectable value is the "Erfassungsgrenze", and we +# should get 0.14 according to DIN, which we achieve by using the method +# described in it: +lod.din <- lod(m, alpha = 0.01, beta = 0.01, method = "din") +round(lod.din$x, 2) + +## Limit of quantification +# This accords to the test data coming with the test data from Dintest again, +# except for the last digits of the value cited for Procontrol 3.1 (0.2121) +(loq <- loq(m, alpha = 0.01)) +round(loq$x,4) + +# A similar value is obtained using the approximation +# LQ = 3.04 * LC (Currie 1999, p. 120) +3.04 * lod(m,alpha = 0.01, beta = 0.5)$x +} +\references{ + DIN 32645 (equivalent to ISO 11843), Beuth Verlag, Berlin, 1994 + + Dintest. Plugin for MS Excel for evaluations of calibration data. Written + by Georg Schmitt, University of Heidelberg. + \url{http://www.rzuser.uni-heidelberg.de/~df6/download/dintest.htm} + + Currie, L. A. (1997) Nomenclature in evaluation of analytical methods including + detection and quantification capabilities (IUPAC Recommendations 1995). + Analytica Chimica Acta 391, 105 - 126. +} +\keyword{datasets} diff --git a/branches/0.1/chemCal/man/inverse.predict.Rd b/branches/0.1/chemCal/man/inverse.predict.Rd new file mode 100644 index 0000000..347d670 --- /dev/null +++ b/branches/0.1/chemCal/man/inverse.predict.Rd @@ -0,0 +1,69 @@ +\name{inverse.predict} +\alias{inverse.predict} +\alias{inverse.predict.lm} +\alias{inverse.predict.rlm} +\alias{inverse.predict.default} +\title{Predict x from y for a linear calibration} +\usage{inverse.predict(object, newdata, \dots, + ws, alpha=0.05, var.s = "auto") +} +\arguments{ + \item{object}{ + A univariate model object of class \code{\link{lm}} or + \code{\link[MASS:rlm]{rlm}} + with model formula \code{y ~ x} or \code{y ~ x - 1}. + } + \item{newdata}{ + A vector of observed y values for one sample. + } + \item{\dots}{ + Placeholder for further arguments that might be needed by + future implementations. + } + \item{ws}{ + The weight attributed to the sample. This argument is obligatory + if \code{object} has weights. + } + \item{alpha}{ + The error tolerance level for the confidence interval to be reported. + } + \item{var.s}{ + The estimated variance of the sample measurements. The default is to take + the residual standard error from the calibration and to adjust it + using \code{ws}, if applicable. This means that \code{var.s} + overrides \code{ws}. + } +} +\value{ + A list containing the predicted x value, its standard error and a + confidence interval. +} +\description{ + This function predicts x values using a univariate linear model that has been + generated for the purpose of calibrating a measurement method. Prediction + intervals are given at the specified confidence level. + The calculation method was taken from Massart et al. (1997). In particular, + Equations 8.26 and 8.28 were combined in order to yield a general treatment + of inverse prediction for univariate linear models, taking into account + weights that have been used to create the linear model, and at the same + time providing the possibility to specify a precision in sample measurements + differing from the precision in standard samples used for the calibration. + This is elaborated in the package vignette. +} +\note{ + The function was validated with examples 7 and 8 from Massart et al. (1997). +} +\references{ + Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., + Smeyers-Verbeke, J. (1997) Handbook of Chemometrics and Qualimetrics: Part A, + p. 200 +} +\examples{ +# This is example 7 from Chapter 8 in Massart et al. (1997) +data(massart97ex1) +m <- lm(y ~ x, data = massart97ex1) +inverse.predict(m, 15) # 6.1 +- 4.9 +inverse.predict(m, 90) # 43.9 +- 4.9 +inverse.predict(m, rep(90,5)) # 43.9 +- 3.2 +} +\keyword{manip} diff --git a/branches/0.1/chemCal/man/lod.Rd b/branches/0.1/chemCal/man/lod.Rd new file mode 100644 index 0000000..e468e1d --- /dev/null +++ b/branches/0.1/chemCal/man/lod.Rd @@ -0,0 +1,83 @@ +\name{lod} +\alias{lod} +\alias{lod.lm} +\alias{lod.rlm} +\alias{lod.default} +\title{Estimate a limit of detection (LOD)} +\usage{ + lod(object, \dots, alpha = 0.05, beta = 0.05, method = "default") +} +\arguments{ + \item{object}{ + A univariate model object of class \code{\link{lm}} or + \code{\link[MASS:rlm]{rlm}} + with model formula \code{y ~ x} or \code{y ~ x - 1}, + optionally from a weighted regression. + } + \item{\dots}{ + Placeholder for further arguments that might be needed by + future implementations. + } + \item{alpha}{ + The error tolerance for the decision limit (critical value). + } + \item{beta}{ + The error tolerance beta for the detection limit. + } + \item{method}{ + The default method uses a prediction interval at the LOD + for the estimation of the LOD, which obviously requires + iteration. This is described for example in Massart, p. 432 ff. + The \dQuote{din} method uses the prediction interval at + x = 0 as an approximation. + } +} +\value{ + A list containig the corresponding x and y values of the estimated limit of + detection of a model used for calibration. +} +\description{ + The decision limit (German: Nachweisgrenze) is defined as the signal or + analyte concentration that is significantly different from the blank signal + with a first order error alpha (one-sided significance test). + The detection limit, or more precise, the minimum detectable value + (German: Erfassungsgrenze), is then defined as the signal or analyte + concentration where the probability that the signal is not detected although + the analyte is present (type II or false negative error), is beta (also a + one-sided significance test). +} +\note{ + - The default values for alpha and beta are the ones recommended by IUPAC. + - The estimation of the LOD in terms of the analyte amount/concentration + xD from the LOD in the signal domain SD is done by simply inverting the + calibration function (i.e. assuming a known calibration function). + - The calculation of a LOD from weighted calibration models requires + a weights argument for the internally used \code{\link{predict.lm}} + function, which is currently not supported in R. +} +\references{ + Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., + Smeyers-Verbeke, J. (1997) Handbook of Chemometrics and Qualimetrics: Part A, + Chapter 13.7.8 + + J. Inczedy, T. Lengyel, and A.M. Ure (2002) International Union of Pure and + Applied Chemistry Compendium of Analytical Nomenclature: Definitive Rules. + Web edition. + + Currie, L. A. (1997) Nomenclature in evaluation of analytical methods including + detection and quantification capabilities (IUPAC Recommendations 1995). + Analytica Chimica Acta 391, 105 - 126. +} +\examples{ +data(din32645) +m <- lm(y ~ x, data = din32645) +lod(m) + +# The critical value (decision limit, German Nachweisgrenze) can be obtained +# by using beta = 0.5: +lod(m, alpha = 0.01, beta = 0.5) +} +\seealso{ + Examples for \code{\link{din32645}} +} +\keyword{manip} diff --git a/branches/0.1/chemCal/man/loq.Rd b/branches/0.1/chemCal/man/loq.Rd new file mode 100644 index 0000000..7541e77 --- /dev/null +++ b/branches/0.1/chemCal/man/loq.Rd @@ -0,0 +1,77 @@ +\name{loq} +\alias{loq} +\alias{loq.lm} +\alias{loq.rlm} +\alias{loq.default} +\title{Estimate a limit of quantification (LOQ)} +\usage{ + loq(object, \dots, alpha = 0.05, k = 3, n = 1, w.loq = "auto", + var.loq = "auto") +} +\arguments{ + \item{object}{ + A univariate model object of class \code{\link{lm}} or + \code{\link[MASS:rlm]{rlm}} + with model formula \code{y ~ x} or \code{y ~ x - 1}, + optionally from a weighted regression. If weights are specified + in the model, either \code{w.loq} or \code{var.loq} have to + be specified. + } + \item{alpha}{ + The error tolerance for the prediction of x values in the calculation. + } + \item{\dots}{ + Placeholder for further arguments that might be needed by + future implementations. + } + \item{k}{ + The inverse of the maximum relative error tolerated at the + desired LOQ. + } + \item{n}{ + The number of replicate measurements for which the LOQ should be + specified. + } + \item{w.loq}{ + The weight that should be attributed to the LOQ. Defaults + to one for unweighted regression, and to the mean of the weights + for weighted regression. See \code{\link{massart97ex3}} for + an example how to take advantage of knowledge about the + variance function. + } + \item{var.loq}{ + The approximate variance at the LOQ. The default value is + calculated from the model. + } +} +\value{ + The estimated limit of quantification for a model used for calibration. +} +\description{ + The limit of quantification is the x value, where the relative error + of the quantification given the calibration model reaches a prespecified + value 1/k. Thus, it is the solution of the equation + \deqn{L = k c(L)}{L = k * c(L)} + where c(L) is half of the length of the confidence interval at the limit L + (DIN 32645, equivalent to ISO 11843). c(L) is internally estimated by + \code{\link{inverse.predict}}, and L is obtained by iteration. +} +\note{ + - IUPAC recommends to base the LOQ on the standard deviation of the signal + where x = 0. + - The calculation of a LOQ based on weighted regression is non-standard + and therefore not tested. Feedback is welcome. +} +\examples{ +data(massart97ex3) +attach(massart97ex3) +m <- lm(y ~ x) +loq(m) + +# We can get better by using replicate measurements +loq(m, n = 3) +} +\seealso{ + Examples for \code{\link{din32645}} +} +\keyword{manip} diff --git a/branches/0.1/chemCal/man/massart97ex1.Rd b/branches/0.1/chemCal/man/massart97ex1.Rd new file mode 100644 index 0000000..44e1b85 --- /dev/null +++ b/branches/0.1/chemCal/man/massart97ex1.Rd @@ -0,0 +1,17 @@ +\name{massart97ex1} +\docType{data} +\alias{massart97ex1} +\title{Calibration data from Massart et al. (1997), example 1} +\description{ + Sample dataset from p. 175 to test the package. +} +\usage{data(massart97ex1)} +\format{ + A dataframe containing 6 observations of x and y data. +} +\source{ + Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., + Smeyers-Verbeke, J. (1997) Handbook of Chemometrics and Qualimetrics: Part A, + Chapter 8. +} +\keyword{datasets} diff --git a/branches/0.1/chemCal/man/massart97ex3.Rd b/branches/0.1/chemCal/man/massart97ex3.Rd new file mode 100644 index 0000000..efdcf02 --- /dev/null +++ b/branches/0.1/chemCal/man/massart97ex3.Rd @@ -0,0 +1,51 @@ +\name{massart97ex3} +\docType{data} +\alias{massart97ex3} +\title{Calibration data from Massart et al. (1997), example 3} +\description{ + Sample dataset from p. 188 to test the package. +} +\usage{data(massart97ex3)} +\format{ + A dataframe containing 6 levels of x values with 5 + observations of y for each level. +} +\examples{ +data(massart97ex3) +attach(massart97ex3) +yx <- split(y, x) +ybar <- sapply(yx, mean) +s <- round(sapply(yx, sd), digits = 2) +w <- round(1 / (s^2), digits = 3) +weights <- w[factor(x)] +m <- lm(y ~ x, w = weights) +calplot(m) + +# The following concords with the book p. 200 +inverse.predict(m, 15, ws = 1.67) # 5.9 +- 2.5 +inverse.predict(m, 90, ws = 0.145) # 44.1 +- 7.9 + +# The LOD is only calculated for models from unweighted regression +# with this version of chemCal +m0 <- lm(y ~ x) +lod(m0) + +# Limit of quantification from unweighted regression +loq(m0) + +# For calculating the limit of quantification from a model from weighted +# regression, we need to supply weights, internally used for inverse.predict +# If we are not using a variance function, we can use the weight from +# the above example as a first approximation (x = 15 is close to our +# loq approx 14 from above). +loq(m, w.loq = 1.67) +# The weight for the loq should therefore be derived at x = 7.3 instead +# of 15, but the graphical procedure of Massart (p. 201) to derive the +# variances on which the weights are based is quite inaccurate anyway. +} +\source{ + Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., + Smeyers-Verbeke, J. (1997) Handbook of Chemometrics and Qualimetrics: Part A, + Chapter 8. +} +\keyword{datasets} diff --git a/branches/0.1/chemCal/tests/din32645.R b/branches/0.1/chemCal/tests/din32645.R new file mode 100644 index 0000000..e5ffed7 --- /dev/null +++ b/branches/0.1/chemCal/tests/din32645.R @@ -0,0 +1,7 @@ +require(chemCal) +data(din32645) +m <- lm(y ~ x, data = din32645) +inverse.predict(m, 3500, alpha = 0.01) +lod <- lod(m, alpha = 0.01, beta = 0.5) +lod(m, alpha = 0.01, beta = 0.01) +loq <- loq(m, alpha = 0.01) diff --git a/branches/0.1/chemCal/tests/din32645.Rout.save b/branches/0.1/chemCal/tests/din32645.Rout.save new file mode 100644 index 0000000..c5ed5a7 --- /dev/null +++ b/branches/0.1/chemCal/tests/din32645.Rout.save @@ -0,0 +1,45 @@ + +R : Copyright 2006, The R Foundation for Statistical Computing +Version 2.3.1 (2006-06-01) +ISBN 3-900051-07-0 + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> require(chemCal) +Loading required package: chemCal +[1] TRUE +> data(din32645) +> m <- lm(y ~ x, data = din32645) +> inverse.predict(m, 3500, alpha = 0.01) +$Prediction +[1] 0.1054792 + +$`Standard Error` +[1] 0.02215619 + +$Confidence +[1] 0.07434261 + +$`Confidence Limits` +[1] 0.03113656 0.17982178 + +> lod <- lod(m, alpha = 0.01, beta = 0.5) +> lod(m, alpha = 0.01, beta = 0.01) +$x +[1] 0.132904 + +$y +[1] 3764.977 + +> loq <- loq(m, alpha = 0.01) +> diff --git a/branches/0.1/chemCal/tests/massart97.R b/branches/0.1/chemCal/tests/massart97.R new file mode 100644 index 0000000..00f837f --- /dev/null +++ b/branches/0.1/chemCal/tests/massart97.R @@ -0,0 +1,25 @@ +require(chemCal) +data(massart97ex1) +m <- lm(y ~ x, data = massart97ex1) +inverse.predict(m, 15) # 6.1 +- 4.9 +inverse.predict(m, 90) # 43.9 +- 4.9 +inverse.predict(m, rep(90,5)) # 43.9 +- 3.2 + +data(massart97ex3) +attach(massart97ex3) +yx <- split(y, x) +ybar <- sapply(yx, mean) +s <- round(sapply(yx, sd), digits = 2) +w <- round(1 / (s^2), digits = 3) +weights <- w[factor(x)] +m <- lm(y ~ x, w = weights) +#calplot(m) + +inverse.predict(m, 15, ws = 1.67) # 5.9 +- 2.5 +inverse.predict(m, 90, ws = 0.145) # 44.1 +- 7.9 + +m0 <- lm(y ~ x) +lod(m0) + +loq(m0) +loq(m, w.loq = 1.67) diff --git a/branches/0.1/chemCal/tests/massart97.Rout.save b/branches/0.1/chemCal/tests/massart97.Rout.save new file mode 100644 index 0000000..cb113d0 --- /dev/null +++ b/branches/0.1/chemCal/tests/massart97.Rout.save @@ -0,0 +1,123 @@ + +R : Copyright 2006, The R Foundation for Statistical Computing +Version 2.3.1 (2006-06-01) +ISBN 3-900051-07-0 + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> require(chemCal) +Loading required package: chemCal +[1] TRUE +> data(massart97ex1) +> m <- lm(y ~ x, data = massart97ex1) +> inverse.predict(m, 15) # 6.1 +- 4.9 +$Prediction +[1] 6.09381 + +$`Standard Error` +[1] 1.767278 + +$Confidence +[1] 4.906751 + +$`Confidence Limits` +[1] 1.187059 11.000561 + +> inverse.predict(m, 90) # 43.9 +- 4.9 +$Prediction +[1] 43.93983 + +$`Standard Error` +[1] 1.767747 + +$Confidence +[1] 4.908053 + +$`Confidence Limits` +[1] 39.03178 48.84788 + +> inverse.predict(m, rep(90,5)) # 43.9 +- 3.2 +$Prediction +[1] 43.93983 + +$`Standard Error` +[1] 1.141204 + +$Confidence +[1] 3.168489 + +$`Confidence Limits` +[1] 40.77134 47.10832 + +> +> data(massart97ex3) +> attach(massart97ex3) +> yx <- split(y, x) +> ybar <- sapply(yx, mean) +> s <- round(sapply(yx, sd), digits = 2) +> w <- round(1 / (s^2), digits = 3) +> weights <- w[factor(x)] +> m <- lm(y ~ x, w = weights) +> #calplot(m) +> +> inverse.predict(m, 15, ws = 1.67) # 5.9 +- 2.5 +$Prediction +[1] 5.865367 + +$`Standard Error` +[1] 0.892611 + +$Confidence +[1] 2.478285 + +$`Confidence Limits` +[1] 3.387082 8.343652 + +> inverse.predict(m, 90, ws = 0.145) # 44.1 +- 7.9 +$Prediction +[1] 44.06025 + +$`Standard Error` +[1] 2.829162 + +$Confidence +[1] 7.855012 + +$`Confidence Limits` +[1] 36.20523 51.91526 + +> +> m0 <- lm(y ~ x) +> lod(m0) +$x +[1] 5.406637 + +$y +[1] 13.63822 + +> +> loq(m0) +$x +[1] 13.97767 + +$y +[1] 30.62355 + +> loq(m, w.loq = 1.67) +$x +[1] 7.346231 + +$y +[1] 17.90784 + +> |