summaryrefslogtreecommitdiff
path: root/R/kinerrmin.R
diff options
context:
space:
mode:
authorjranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>2010-03-30 19:49:44 +0000
committerjranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>2010-03-30 19:49:44 +0000
commit12934520d7ec3218ce1505787b6066334a24a562 (patch)
treee3d3439a63260dfe8fc01037ef297e09e876cc67 /R/kinerrmin.R
Initial import of the kinfit package developed from 2008-07 to 2010-03 at
Harlan Laboratories Ltd (former RCC Ltd). Supports fitting of parent data with the usual FOCUS kinetic models. git-svn-id: svn+ssh://svn.r-forge.r-project.org/svnroot/kinfit/pkg/kinfit@2 edb9625f-4e0d-4859-8d74-9fd3b1da38cb
Diffstat (limited to 'R/kinerrmin.R')
-rw-r--r--R/kinerrmin.R21
1 files changed, 21 insertions, 0 deletions
diff --git a/R/kinerrmin.R b/R/kinerrmin.R
new file mode 100644
index 0000000..8ce30a3
--- /dev/null
+++ b/R/kinerrmin.R
@@ -0,0 +1,21 @@
+kinerrmin <- function(kinfits, kinmodel = "SFO", alpha = 0.05)
+{
+ m = kinfits[[kinmodel]]
+
+ kindata <- data.frame(t = kinfits[[kinmodel]]$model$t,
+ parent = kinfits[[kinmodel]]$model$parent)
+ kindata.means <- aggregate(kindata, list(kindata$t), mean)
+ kindata.means.mean <- mean(kindata.means$parent, na.rm=TRUE)
+
+ n.parms = length(coef(m))
+ df = length(kindata.means$parent) - n.parms
+ kindata.means$est <- predict(m, kindata.means)
+
+ f <- function(err)
+ {
+ (sum((kindata.means$parent - kindata.means$est)^2/((err*kindata.means.mean)^2)) -
+ qchisq(1 - alpha,df))^2
+ }
+ err.min <- optimize(f, c(0.01,0.9))$minimum
+ return(err.min)
+}

Contact - Imprint