i Varadhan
Cc: arindam fadikar; r-help@r-project.org
Subject: Re: [R] how to avoid NaN in optim()
Here is how you do it:
library(BB)
Amat <- matrix(c(1,0,0,1,-1,-1), 3, 2, byrow=TRUE)
b <- c(0, 0, -1)
p0 <- c(0.5, 0.4)
spg(p0, lik ( 176,182 , 60 ,17) , project="projectLinear&quo
arindam fadikar wrote:
>
>
> loglik <- function(par)
> {
> p=par[1]
> q=par[2]
> r <- 1 - p - q
> if (c(p,q,r) > rep(0,3) && c(p,q,r) < rep(1,3) )
> {
> -(2 * nO * log (r) + nA * log (p^2 + 2 * p * r)
> + nB * log (q^2 + 2 * q * r)
>
On Thu, Sep 30, 2010 at 12:04 PM, arindam fadikar
wrote:
> thanks Ravi yes , we were getiing the correct results but we thought
> there should be a way to avoid those NaN values ... and now we are done
> the if condition was written wrongly there ... instead of that if we do
>
> p > 0 && q >
er 30, 2010 3:04 pm
Subject: Re: [R] how to avoid NaN in optim()
To: Ravi Varadhan
Cc: arindam fadikar , r-help@r-project.org
> You also need the constrain that par[1] + par[2] < 1 in order to avoid
> NaNs.
>
> You can do this using the `projectLinear' argument in `spg'
thanks Ravi yes , we were getiing the correct results but we thought
there should be a way to avoid those NaN values ... and now we are done
the if condition was written wrongly there ... instead of that if we do
p > 0 && q > 0 && r > 0 && p < 1 && q < 1 && r < 1
its perfectly fine .. but i
,
Division of Geriatric Medicine and Gerontology
School of Medicine
Johns Hopkins University
Ph. (410) 502-2619
email: rvarad...@jhmi.edu
- Original Message -
From: Ravi Varadhan
Date: Thursday, September 30, 2010 2:54 pm
Subject: Re: [R] how to avoid NaN in optim()
To: arindam fadikar
I forgot to mention:
You actually got correct results with using optim and `CG'. The warning
messages were just telling you that there were some log(negative number)
operations during the iterative process.
Ravi.
Ravi Var
Change the `else NA' to `else Inf' in your loglik function and then run the
following:
library(BB)
p0 <- runif(2)
spg(p0, lik (176,182 , 60 ,17) , lower=0, upper=1)
This will give you correct results.
Ravi.
Ravi Varadh
8 matches
Mail list logo