[R] Help with modFit of FME package 2
Paola Lecca
pllcc023 at gmail.com
Mon Aug 1 14:34:00 CEST 2011
* Apologies for multiple posting *
I attached to my previous e-mail a .r file, and it was not permitted by the
rules of the mailing lis. Again, please receive my sincere apologies for
this.
I re-send again the e-mail with .txt attachemnt in the hope someone an help
me to solve my problem.
I'm trying to fit a set an ODE to an experimental time series. In the
attachment you find the R code I wrote using modFit and modCost of FME
package and the file of the time series.
When I run summary(Fit) I obtain this error message, and the values of the
parameters are equal to the initial guesses I gave to them.
The problem is not due to the fact that I have only one equation (I tried
also with more equations, but I still obtain this error).
I would appreciate if someone could help me in understanding the reason of
the error and in fixing it.
Thanks for your attention,
Paola Lecca.
Here the error:
> summary(Fit)
Parameters:
Estimate Std. Error t value Pr(>|t|)
pro1_strength 1 NA NA NA
Residual standard error: 2.124 on 10 degrees of freedom
Error in cov2cor(x$cov.unscaled) : 'V' is not a square numeric matrix
In addition: Warning message:
In summary.modFit(Fit) : Cannot estimate covariance; system is singular
______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
--
*Paola Lecca, PhD*
*The Microsoft Research - University of Trento*
*Centre for Computational and Systems Biology*
*Piazza Manci 17 38123 Povo/Trento, Italy*
*Phome: +39 0461282843*
*Fax: +39 0461282814*
-------------- next part --------------
time pp1_mrna
0 0
2 2.754
4 2.958
6 4.058
8 3.41
10 3.459
12 2.453
14 1.234
16 2.385
18 3.691
20 3.252
-------------- next part --------------
require(deSolve)
require(FME)
##################################################################################
# PART 1 #
##################################################################################
# Differential equations
model_1_part_1 <- function(t, S, parameters)
{
with(as.list(parameters), {
#
cod1 = pro1_strength
#
pp1_mrna_degradation_rate <- 1
###############################################################
#
v1 = cod1
v2 = pp1_mrna_degradation_rate * S[1]
#
#################################################################
#
dS1 = v1 - v2
#
####################################################################
#
list(c(dS1))
})
}
# Parameters
parms_part_1 <- c(pro1_strength = 1.0)
# Initial values of the species concentration
S <- c(pp1_mrna = 0)
times <- seq(0, 20, by = 2)
# Solve the system
ode_solutions_part_1 <- ode(S, times, model_1_part_1, parms = parms_part_1)
ode_solutions_part_1
summary(ode_solutions_part_1)
## Default plot method
plot(ode_solutions_part_1)
########################################################################################
########################################################################################
# Estimate of the parameters
experiment <- read.table("./wild_pp1_mrna.txt", header=TRUE)
rw <- dim(experiment)[1]
names <- array("", rw)
for (i in 1:rw)
{
names[i] <- "pp1_mrna"
}
names
observed_data_part_1 <- data.frame(name = names,
time = experiment[,1], val = experiment[,2])
observed_data_part_1
ode_solutions_part_1
Cost_function <- function (pars) {
out <- ode_solutions_part_1
cost <- modCost(model = out, obs = observed_data_part_1, y = "val")
cost
}
Cost_function(parms)
# Fit the model to the observed data
Fit <- modFit(f = Cost_function, p = parms_part_1)
Fit
# Summary of the fit
summary(Fit)
# Model coefficients
coef(Fit)
# Deviance of the fit
deviance(Fit)
More information about the R-help
mailing list