There may be something wrong with your data: in all but one case you have lx=1 and mx=0. Uniroot may be having difficulty because of this.
Simon. Sent from my iPhone > On 30 Jun 2014, at 9:09 pm, "Simon Blomberg" <s.blombe...@uq.edu.au> wrote: > > Hmm. Try setting extendInt="yes" in the call to uniroot. You should also look > at the help page for uniroot. help(uniroot) May give you a clue. It's > difficult for me to debug code on my iphone. Well, more difficult than usual. > > Best, > > Simon. > > Sent from my iPhone > > On 30 Jun 2014, at 8:53 pm, "Mark Christjani" > <m_christj...@gmx.de<mailto:m_christj...@gmx.de>> wrote: > > Thank you, Simon, for your input. > > Data import works fine now, but the final equation still won`t work. > > Console reads now: > >> setwd("c:/Mark") >> >> table <- read.table("r-TCO-Scene-Kontrolle.csv", header=TRUE, sep=";") >> >> table > x lx mx > 1 1 1.0 0.0 > 2 2 1.0 0.0 > 3 3 1.0 0.0 > 4 4 1.0 0.0 > 5 5 1.0 0.0 > 6 6 1.0 0.0 > 7 7 1.0 0.0 > 8 8 1.0 0.0 > 9 9 1.0 0.0 > 10 10 1.0 0.0 > 11 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 > Error: object 'res' not found > > Any idea on this "Error in uniroot(f = eulerlotka, interval = r.range, tol = > 1e-08) : > f() values at end points not of opposite sign"-matter? > > Kind regards, > Mark > > > > Gesendet: Montag, 30. Juni 2014 um 12:41 Uhr > Von: "Simon Blomberg" <s.blombe...@uq.edu.au<mailto:s.blombe...@uq.edu.au>> > An: "Mark Christjani" <m_christj...@gmx.de<mailto:m_christj...@gmx.de>> > Cc: "r-help@r-project.org<mailto:r-help@r-project.org>" > <r-help@r-project.org<mailto:r-help@r-project.org>> > Betreff: Re: [R] Population growthrate with Euler-Lotka > Your script is failing at the first hurdle because you data are not being > imported properly. You should include > > header=TRUE. sep=";" > > In the call to read.table. > > Cheers. > > Simon. > > Sent from my iPhone > > Sent from my iPhone >> On 30 Jun 2014, at 7:10 pm, "Mark Christjani" >> <m_christj...@gmx.de<mailto:m_christj...@gmx.de>> wrote: >> >> >> 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<mailto: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. > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. ______________________________________________ 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.