# $Id: kinreport.R 123 2011-11-01 12:26:41Z jranke $ # Copyright (C) 2008-2010 Johannes Ranke # Contact: mkin-devel@lists.berlios.de # This file is part of the R package kinfit # kinfit 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 kinreport <- function(kinobject, file = NA, data = TRUE, R2 = FALSE, vcov = FALSE, endpoint.digits = 1) { if (!is.na(file)) { sink(file, split=TRUE) } cat("Parent compound: ", kinobject$parent, "\n") if (!is.null(kinobject$label)) { cat("Label position:\t\t", kinobject$label, "\n") } cat("Study type: ", kinobject$type, "\n") cat("System: ", kinobject$system, "\n") if (!is.null(kinobject$source)) { cat("Source: ", kinobject$source, "\n") } cat("kinfit version: ", as.character(packageVersion("kinfit")), "\n") cat("R version: ", paste(R.version$major, R.version$minor, sep="."), "\n") cat("Report generated:", date(), "\n") cat("\n") if (data) { cat("Data:\n") print(kinobject$data) cat("\n") } fit.names <- names(kinobject$fits) for (kinmodel in fit.names) { m <- kinobject$fits[[kinmodel]] if (!(class(m) == "try-error")) { cat("\n\n---\n") cat("Nonlinear least squares fit of the", kinmodel, "model\n") if (!"parent.0" %in% names(coef(m))) { cat(paste("Initial value of parent fixed to ", m$model$parent.0.user, "\n", sep="")) } cat("\n") cat("Parameter estimation:\t") s <- summary(m) df <- s$df[2] p <- 1 - pt(s$parameters[,3], df = df) parms <- matrix(nrow = nrow(s$parameters), ncol=4) dimnames(parms) = list(rownames(s$parameters), c("Estimate", "Std. Error", "t value", "Pr(>t)")) parms[, c(1,2,3)] <- s$parameters[,c(1,2,3)] parms[, 4] <- p cat("\n") print(parms, digits=3) cat("\n") if(vcov) { cat("Variance-covariance matrix:\n") print(vcov(m)) cat("\n") } cat("Chi2 error estimation: ", round(100 * kinobject$results$stats[kinmodel, "err.min"], digits=2), " %\n", sep="") cat("\n") if(R2) { cat("Coefficient of determination R2: ", round(kinobject$results$stats[kinmodel, "R2"], digits=3), "\n") } } } cat("\n\n---\n") cat("Endpoint estimates\n\n") print(round(kinobject$results$results, digits=endpoint.digits)) if (!is.na(file)) sink() }