From 1718d434efae26de02754c6622c43f4dc9e624b9 Mon Sep 17 00:00:00 2001 From: jranke Date: Thu, 15 Mar 2012 15:54:14 +0000 Subject: Update kinfit and mkin to the latest version published on BerliOS. git-svn-id: svn+ssh://svn.r-forge.r-project.org/svnroot/kinfit/pkg/mkin@17 edb9625f-4e0d-4859-8d74-9fd3b1da38cb --- R/mkinresplot.R | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 R/mkinresplot.R (limited to 'R/mkinresplot.R') diff --git a/R/mkinresplot.R b/R/mkinresplot.R new file mode 100644 index 00000000..bede5f78 --- /dev/null +++ b/R/mkinresplot.R @@ -0,0 +1,54 @@ +# $Id: $ + +# Copyright (C) 2008-2011 Katrin Lindenberger and Johannes Ranke +# Contact: mkin-devel@lists.berlios.de + +# This file is part of the R package mkin + +# mkin is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. + +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. + +# You should have received a copy of the GNU General Public License along with +# this program. If not, see + +mkinresplot <- function (object, obs_vars = vector(), + xlab = "Time [days]", ylab = "Residual [% of applied radioactivity]", + maxabs = "auto", legend= TRUE, lpos = "topright", ...) +{ + obs_vars_all <- as.character(unique(object$data$variable)) + + if (length(obs_vars) > 0){ + vars <- intersect(obs_vars_all, obs_vars) + } else vars <- obs_vars_all + + residuals <- subset(object$data, variable %in% vars, residual) + + if (maxabs == "auto") maxabs = max(abs(residuals), na.rm = TRUE) + + col_obs <- pch_obs <- 1:length(vars) + names(col_obs) <- names(pch_obs) <- vars + + plot(0, xlab = xlab, ylab = ylab, + xlim = c(0, 1.1 * max(object$data$time)), + ylim = c(-1.2 * maxabs, 1.2 * maxabs), ...) + + for(var in vars){ + residuals_plot <- subset(object$data, variable == var, c("time", "residual")) + points(residuals_plot, pch = pch_obs[var], col = col_obs[var]) + } + + abline(h = 0, lty = 2) + title(paste("Residuals of mkin fit"), font.main = 1) + + if (legend == TRUE) { + legend(lpos, inset = c(0.05, 0.05), legend = vars, + col = col_obs, pch = pch_obs) + } +} -- cgit v1.2.1