Hi everybody, I`m Mark and I do my PhD in biology. I try using R to calculate a population growth rate of animals grown on different types of food. Our workgroup has a R-skript to do so, but sadly nobody, who knows how this works. I`ve never used R before, but got some stuff figured out myself. The skript goes:
setwd("c:/Mark") table <- read.table("r-TCO-Scene-Kontrolle.csv") table x <- c(table$x) L <- c(table$lx) m <- c(table$mx) r.range<- c(0, 5) eulerlotka <- function(r) sum(L * m * exp(-r * x)) - 1 res <- uniroot(f = eulerlotka, interval = r.range, tol = 1e-8) res$root I understood that the first 3 lines are simply to load my data and show it in the workspace console. The next 4 lines define variables of my .csv table for R. Thus far, everything works fine. Now comes the Euler-Lotka equation, but somehow, this does not seem to work out as supposed. I tried to find a solution on the internet, but I think this formula is somewhat special so I could not find a suitible solution for my special problem. The console says: > setwd("c:/Mark") > > table <- read.table("r-TCO-Scene-Kontrolle.csv") > > table V1 1 x;lx;mx 2 1;1;0 3 2;1;0 4 3;1;0 5 4;1;0 6 5;1;0 7 6;1;0 8 7;1;0 9 8;1;0 10 9;1;0 11 10;1;0 12 11;0.2;3.5 > > x <- c(table$x) > L <- c(table$lx) > m <- c(table$mx) > r.range<- c(0, 5) > > eulerlotka <- function(r) sum(L * m * exp(-r * x)) - 1 > res <- uniroot(f = eulerlotka, interval = r.range, tol = 1e-8) Error in uniroot(f = eulerlotka, interval = r.range, tol = 1e-08) : f() values at end points not of opposite sign > > res$root Does anybody have an idea how to get this running? Thanks in advance Kind regards Mark ______________________________________________ R-help@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.