diff options
-rw-r--r-- | DESCRIPTION | 4 | ||||
-rw-r--r-- | R/drfit.R | 19 | ||||
-rw-r--r-- | man/drfit.Rd | 5 | ||||
-rw-r--r-- | tests/01drfit.R | 4 | ||||
-rw-r--r-- | tests/01drfit.Rout.save | 33 |
5 files changed, 19 insertions, 46 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index 07bf47a..2ff9517 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: drfit -Version: 0.04-51 -Date: 2005-12-21 +Version: 0.04-52 +Date: 2005-12-22 Title: Dose-response data evaluation Author: Johannes Ranke <jranke@uni-bremen.de> Maintainer: Johannes Ranke <jranke@uni-bremen.de> @@ -57,7 +57,8 @@ drfit <- function(data, startlogED50 = NA, chooseone=TRUE, # rix is used later to check if any # model result was appended rsubstance <- array() # the substance names in the results - rn <- vector() # number of dose-response curves + rndl <- vector() # number of dose levels + rn <- vector() # mean number of replicates in each dose level runit <- vector() # vector of units for each result row rlhd <- rlld <- vector() # highest and lowest doses tested mtype <- array() # the modeltypes @@ -81,14 +82,17 @@ drfit <- function(data, startlogED50 = NA, chooseone=TRUE, cat("More than one unit for substance ",i,", halting\n\n",sep="") break } - n <- round(length(tmp$response)/9) if (length(tmp$response) == 0) { nodata = TRUE } else { nodata = FALSE } rix <- ri - if (!nodata) { + if (nodata) { + n <- ndl <- 0 + } else { + ndl <- length(levels(factor(tmp$dose))) + n <- round(length(tmp$response)/ndl) if (is.na(startlogED50[i])){ w <- 1/abs(tmp$response - 0.3) startlogED50[[i]] <- sum(w * log10(tmp$dose))/sum(w) @@ -113,6 +117,7 @@ drfit <- function(data, startlogED50 = NA, chooseone=TRUE, s <- summary(m) sigma[[ri]] <- s$sigma rsubstance[[ri]] <- i + rndl[[ri]] <- ndl rn[[ri]] <- n runit[[ri]] <- unit rlld[[ri]] <- log10(lowestdose) @@ -147,6 +152,7 @@ drfit <- function(data, startlogED50 = NA, chooseone=TRUE, s <- summary(m) sigma[[ri]] <- s$sigma rsubstance[[ri]] <- i + rndl[[ri]] <- ndl rn[[ri]] <- n runit[[ri]] <- unit rlld[[ri]] <- log10(lowestdose) @@ -181,6 +187,7 @@ drfit <- function(data, startlogED50 = NA, chooseone=TRUE, s <- summary(m) sigma[[ri]] <- s$sigma rsubstance[[ri]] <- i + rndl[[ri]] <- ndl rn[[ri]] <- n runit[[ri]] <- unit rlld[[ri]] <- log10(lowestdose) @@ -214,6 +221,7 @@ drfit <- function(data, startlogED50 = NA, chooseone=TRUE, s <- summary(m) sigma[[ri]] <- s$sigma rsubstance[[ri]] <- i + rndl[[ri]] <- ndl rn[[ri]] <- n runit[[ri]] <- unit rlld[[ri]] <- log10(lowestdose) @@ -247,6 +255,7 @@ drfit <- function(data, startlogED50 = NA, chooseone=TRUE, if (ri == rix) { # if no entry was appended for this substance ri <- ri + 1 rsubstance[[ri]] <- i + rndl[[ri]] <- ndl rn[[ri]] <- n if (nodata) { rlld[[ri]] <- rlhd[[i]] <- NA @@ -270,8 +279,8 @@ drfit <- function(data, startlogED50 = NA, chooseone=TRUE, c[[ri]] <- NA } } - results <- data.frame(rsubstance, rn, rlld, rlhd, mtype, logED50, stderrlogED50, runit, sigma, a, b) - names(results) <- c("Substance","n","lld","lhd","mtype","logED50","std","unit","sigma","a","b") + results <- data.frame(rsubstance, rndl, rn, rlld, rlhd, mtype, logED50, stderrlogED50, runit, sigma, a, b) + names(results) <- c("Substance","ndl","n","lld","lhd","mtype","logED50","std","unit","sigma","a","b") if (linlogit) { results$c <- c } diff --git a/man/drfit.Rd b/man/drfit.Rd index abb135a..ee477b5 100644 --- a/man/drfit.Rd +++ b/man/drfit.Rd @@ -70,8 +70,9 @@ Every successful fit is reported in one line. Parameters of the fitted curves are only reported if the fitted ED50 is not higher than the highest dose. - \code{n} is the number of dose-response curves in the raw data (repetitions - in each point), \code{lld} is the decadic logarithm of the lowest dose and + \code{ndl} is the number of dose levels in the raw data, \code{n} is the + rounded mean of the number of replicates at each dose level in the raw + data, \code{lld} is the decadic logarithm of the lowest dose and \code{lhd} is the decadic logarithm of the highest dose. For the "linlogit", "logit" and "probit" models, the parameter \code{a} that is reported coincides with the logED50, i.e the logED50 is diff --git a/tests/01drfit.R b/tests/01drfit.R deleted file mode 100644 index 7e775fe..0000000 --- a/tests/01drfit.R +++ /dev/null @@ -1,4 +0,0 @@ -library(drfit) -data(antifoul) -r <- drfit(antifoul) -r diff --git a/tests/01drfit.Rout.save b/tests/01drfit.Rout.save deleted file mode 100644 index c04e428..0000000 --- a/tests/01drfit.Rout.save +++ /dev/null @@ -1,33 +0,0 @@ - -R : Copyright 2005, The R Foundation for Statistical Computing -Version 2.2.1 (2005-12-20 r36812) -ISBN 3-900051-07-0 - -R ist freie Software und kommt OHNE JEGLICHE GARANTIE. -Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten. -Tippen Sie 'license()' or 'licence()' für Details dazu. - -R ist ein Gemeinschaftsprojekt mit vielen Beitragenden. -Tippen Sie 'contributors()' für mehr Information und 'citation()', -um zu erfahren, wie R oder R packages in Publikationen zitiert werden können. - -Tippen Sie 'demo()' für einige Demos, 'help()' für on-line Hilfe, oder -'help.start()' für eine HTML Browserschnittstelle zur Hilfe. -Tippen Sie 'q()', um R zu verlassen. - -> library(drfit) -Lade nötiges Paket: RODBC -> data(antifoul) -> r <- drfit(antifoul) - -TBT: Fitting data... - -Zn Pyrithion: Fitting data... -> r - Substance n lld lhd mtype logEC50 std unit sigma -1 TBT 15 -2.709271 2.39794 probit -0.1643560 0.05349217 µM 0.1928611 -2 Zn Pyrithion 9 -2.107210 2.00000 probit -0.3979222 0.05393693 µM 0.2286560 - a b -1 -0.1643560 0.6763882 -2 -0.3979222 0.4169632 -> |