# [R] loop in optim

EdBo n.bowora at gmail.com
Tue Jul 5 05:21:14 CEST 2011

```Hi

I have re-worked on my likelihood function and it is now working(#the code
is below#).

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.

#likelihood function
attach(a)
a
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(ifelse (( pnorm (au_j, mean=b_j * a\$R_m, sd= sqrt(sigma_j^2))-
pnorm(al_j, mean=b_j * a\$R_m, sd=sqrt (sigma_j^2)
)) > 0,
(pnorm (au_j,mean=b_j * a\$R_m, sd= sqrt(sigma_j^2))-
pnorm(al_j, mean=b_j * a\$R_m, sd= sqrt(sigma_j^2)
)),
1)) ))
)
}
start.par = c(-0.01,0.01,0.1,1)