Hi,

Thanks a lot it works. But as Ted remarked it was a simple case of a more
complex
procedure.

Here is what I trying to do (sorry I was not able to find another example)

I wrote a fuction that I call bullexe(phi,theta,L) the code of this function
is at the end of this mail.

I want to run different models with my fuction for different values. I want
to make a table.

I started to write a code to get the results for L=1,2,3,4, and 5 with phi
and theta fixed.

bull<-matrix(data=NA,nrow=5,ncol=1,dimnames=list(c("m1","m2","m3","m4","m5"),c("be")))
bull
VarLT<-matrix(data=NA,nrow=5,ncol=1,dimnames=list(c("m1","m2","m3","m4","m5"),c("VarLT")))
VarLT

for(i in 1:5)
      {   m=bullexe(0.75,0.1,i)
      bull[i,]<-m[1]
      VarLT[i,]<-m[3]
      }
  est<-matrix(data=c(bull,VarLT),nrow=5,ncol=2)
est


It works fine but I am wondering if I can do it directly to fill
scp<-matrix(data=NA,nrow=5,ncol=2,dimnames=list(c("m1","m2","m3","m4","m5"),c("bull","VarLT")))
scp

How could I solve this problem?

and still how could I address the problem if I want to move the three
parameters at the same time?

I found this post https://stat.ethz.ch/pipermail/r-help/2008-May/163110.html

but there the problem is quite different. Any idea?

Here is the code of my fuction bullexe()

bullexe=function(phi,theta,L)
{  arma=ARMAtoMA(ar=phi, ma=theta, 1000);
VarD=sum(arma^2)+1;
values=ARMAtoMA(ar=phi, ma=theta, L);

total = 0
for (i in 1:L)
{ valsum=  sum (values[i:L]);
     if( i==1)
  {
     total = valsum;
  }
  else
  {
     total = total + values[i-1] * valsum;
  }
}

M=1+2*total/VarD;

arma1=ARMAtoMA(ar=phi, ma=theta,L);
arma2=arma1^2;

totalLT = 0
for (i in 1:L-1)
{ valsumLT=  sum(arma2[1:(L-i)]);
  totalLT = totalLT + valsumLT;
 }
VarLT=L+totalLT;

sc=c(bull=M,VarD=VarD,VarLT=VarLT)
return(sc)
  }




2010/2/1 Ted Harding <Ted.Harding@manchester.ac.uk>

> On 01-Feb-10 11:29:40, marlene marchena wrote:
> > Hi R-users
> >
> > I'm writing a code to run a fuction but I found an error that I can't
> > fix. I
> > reproduced the error with a simple example.
> >
> > The correct answer is k but I can't fill my s matrix. What I'm doing
> > wrong?
> >
> >
> >  s<-matrix(data=NA,nrow=1,ncol=5 )
> >  s
> >
> > for(i in 1:5)
> >       {
> >       k=sqrt(i)
> >       s[,i]<-k[i]
> >    print(k)
> >       }
> >
> > s
> >
> > Thanks in advance,
> > Marlene.
>
> Use s[,i]<-k instead of s[,i]<-k[i] since k=sqrt(i) assigns a
> single value to k. Hence k[1] will be the same as k, but for
> i>1 k[i] will always be NA.
>
> A better way to do the whole thing (in your example) is simply
>
>  s <- sqrt(1:5)
>
> but your example may be a very simple case of a more complex
> procedure!
>
> Hoping this helps,
> Ted.
>
> --------------------------------------------------------------------
> E-Mail: (Ted Harding) <Ted.Harding@manchester.ac.uk>
> Fax-to-email: +44 (0)870 094 0861
> Date: 01-Feb-10                                       Time: 11:41:46
> ------------------------------ XFMail ------------------------------
>

	[[alternative HTML version deleted]]

