diff options
author | jranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb> | 2010-03-30 19:49:44 +0000 |
---|---|---|
committer | jranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb> | 2010-03-30 19:49:44 +0000 |
commit | 12934520d7ec3218ce1505787b6066334a24a562 (patch) | |
tree | e3d3439a63260dfe8fc01037ef297e09e876cc67 /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.R | 21 |
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)
+}
|