[R] Population growthrate with Euler-Lotka

Mark Christjani m_christjani at gmx.de
Mon Jun 30 09:39:45 CEST 2014


   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


More information about the R-help mailing list