Hi Edward,

At least for me, your llik() function returns Inf for the starting
values specified, so optim() never gets to estimate anything.  You
need to alter llik() or find starting parameters that work before
worrying about getting the for loop working.

Cheers,

Josh

On Mon, Jul 4, 2011 at 2:34 AM, EdBo <n.bow...@gmail.com> wrote:
> Hi
>
> May you help me correct my loop function.
>
> I want optim to estimates al_j; au_j; sigma_j;  b_j by looking at 0 to 20,
> 21 to 40, 41 to 60 data points.
>
> The final result should have 4 columns of each of the estimates AND 4 rows
> of each of 0 to 20, 21 to 40, 41 to 60.
>
> ###MY code is
>
> n=20
> runs=4
> out=matrix(0,nrow=runs)
>
> llik = function(x)
>   {
>    al_j=x[1]; au_j=x[2]; sigma_j=x[3];  b_j=x[4]
>    sum(na.rm=T,
>        ifelse(a$R_j< 0, -log(1/(2*pi*(sigma_j^2)))-
>                           (1/(2*(sigma_j^2))*(a$R_j+al_j-b_j*a$R_m))^2,
>         ifelse(a$R_j>0 , -log(1/(2*pi*(sigma_j^2)))-
>                           (1/(2*(sigma_j^2))*(a$R_j+au_j-b_j*a$R_m))^2,
>
> -log(pnorm(au_j,mean=b_j*a$R_m,sd=sqrt(sigma_j^2))-
>                           pnorm(au_j,mean=b_j*a$R_m,sd=sqrt(sigma_j^2)))))
>
>       )
>
>   }
>
> start.par = c(0, 0, 0.01, 1)
> out1 = optim(llik, par=start.par, method="Nelder-Mead")
>
>
> for (i in 1: runs)
> {
>  index_start=20*(i-1)+1
>  index_end= 20*i
>  out[i]=out1[index_start:index_end]
> }
> out
>
>
> Thank you in advance
>
> Edward
> UCT
> ####My data
>
> R_j             R_m
> -0.0625         0.002320654
> 0               -0.004642807
> 0.033333333     0.005936332
> 0.032258065     0.001060848
> 0               0.007114057
> 0.015625        0.005581558
> 0               0.002974794
> 0.015384615     0.004215271
> 0.060606061     0.005073116
> 0.028571429     -0.006001279
> 0               -0.002789594
> 0.013888889     0.00770633
> 0               0.000371663
> 0.02739726      -0.004224228
> -0.04           0.008362539
> 0               -0.010951605
> 0               0.004682924
> 0.013888889     0.011839993
> -0.01369863     0.004210383
> -0.027777778    -0.04658949
> 0               0.00987272
> -0.057142857    -0.062203157
> -0.03030303     -0.119177639
> 0.09375         0.077054642
> 0               -0.022763619
> -0.057142857    0.050408775
> 0               0.024706076
> -0.03030303     0.004043701
> 0.0625          0.004951088
> 0               -0.005968731
> 0               -0.038292548
> 0               0.013381097
> 0.014705882     0.006424728
> -0.014492754    -0.020115626
> 0               -0.004837891
> -0.029411765    -0.022054654
> 0.03030303      0.008936428
> 0.044117647     8.16925E-05
> 0               -0.004827246
> -0.042253521    0.004653096
> -0.014705882    -0.004222151
> 0.029850746     0.000107267
> -0.028985507    -0.001783206
> 0.029850746     -0.006372981
> 0.014492754     0.005492374
> -0.028571429    -0.009005846
> 0               0.001031683
> 0.044117647     0.002800551
>
>
>
>
>
>
>
>
>
>
>
>
> --
> View this message in context: 
> http://r.789695.n4.nabble.com/loop-in-optim-tp3643230p3643230.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
>



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/

______________________________________________
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