yes, log of negative number is undefined and R also do the same and
produces NaNs. Here I want to reject the value of exp(-alpha*d^(-beta))
when greater than 1, and want to run the loop otherwise.
Thanks

On Tue, Nov 29, 2011 at 6:48 PM, Sarah Goslee <sarah.gos...@gmail.com>wrote:

> > Here p[i] <- 1 - exp(-alpha*d^(-beta))> so,  log(p[i]) produces NaNs
> when exp(-alpha*d^(-beta)) is greater than 1.> How can I remove it.After
> generating the out put we can omit it, but the> problem is different.
>
> Wait... you're complaining that you can't take the natural log of a
> negative
> number in R?
>
> You can't do that anywhere. What do you expect to happen? The log of a
> negative number IS NaN.
>
> Sarah
> On Tue, Nov 29, 2011 at 6:28 PM, Gyanendra Pokharel
>  <gyanendra.pokha...@gmail.com> wrote:
> > I have following code:
> > loglikelihood <- function(alpha,beta= 0.1){
> >    loglh<-0
> >    d<-0
> >    p<-0
> >    k<-NULL
> >    data<-read.table("epidemic.txt",header = TRUE)
> >    attach(data, warn.conflicts = F)
> >    k <-which(inftime==1)
> >    d <- (sqrt((x-x[k])^2+(y-y[k])^2))^(-beta)
> >    p<-1 - exp(-alpha*d)
> >    for(i in 1:100){
> >        if(i!=k){
> >            if(inftime[i]==0){
> >                loglh<-loglh +log(1-p[i])
> >            }
> >            if(inftime[i]==2){
> >                loglh<-loglh + log(p[i])
> >            }
> >        }
> >    }
> >    return(loglh)
> > }
> > Here p[i] <- 1 - exp(-alpha*d^(-beta))
> > so,  log(p[i]) produces NaNs when exp(-alpha*d^(-beta)) is greater than
> 1.
> > How can I remove it.After generating the out put we can omit it, but the
> > problem is different.
> >
> > On Tue, Nov 29, 2011 at 5:22 PM, Gyanendra Pokharel <
> > gyanendra.pokha...@gmail.com> wrote:
> >
> >> No, that,s not a problem Michael,
> >> I have following code:
> >> loglikelihood <- function(alpha,beta= 0.1){
> >>     loglh<-0
> >>     d<-0
> >>     p<-0
> >>     k<-NULL
> >>     data<-read.table("epidemic.txt",header = TRUE)
> >>     attach(data, warn.conflicts = F)
> >>     k <-which(inftime==1)
> >>     d <- (sqrt((x-x[k])^2+(y-y[k])^2))^(-beta)
> >>     p<-1 - exp(-alpha*d)
> >>     for(i in 1:100){
> >>         if(i!=k){
> >>             if(inftime[i]==0){
> >>                 loglh<-loglh +log(1-p[i])
> >>             }
> >>             if(inftime[i]==2){
> >>                 loglh<-loglh + log(p[i])
> >>             }
> >>         }
> >>     }
> >>     return(loglh)
> >> }
> >> Here p[i] <- 1 - exp(-alpha*d^(-beta))
> >> so,  log(p[i]) produces NaNs when exp(-alpha*d^(-beta)) is greater than
> 1.
> >> How can I remove it.After generating the out put we can omit it, but the
> >> problem is different.
> >>
> >>
>
> --
> Sarah Goslee
> http://www.functionaldiversity.org
>

        [[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.

Reply via email to