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.hard...@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.hard...@manchester.ac.uk> > Fax-to-email: +44 (0)870 094 0861 > Date: 01-Feb-10 Time: 11:41:46 > ------------------------------ XFMail ------------------------------ > [[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.