Sounds like you want to simulate an ARIMA model. Why don't you read up on that topic using RSiteSearch() and then perhaps rephrase your question? --------------------------------------------------------------------------- Jeff Newmiller The ..... ..... Go Live... DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go... Live: OO#.. Dead: OO#.. Playing Research Engineer (Solar/Batteries O.O#. #.O#. with /Software/Embedded Controllers) .OO#. .OO#. rocks...1k --------------------------------------------------------------------------- Sent from my phone. Please excuse my brevity.
Simone Gogna <singletontheb...@msn.com> wrote: >Hi, >thank you Rui for your reply. >I understand I haven���t made it clear enough. >What I do want to make is a kind of autoregressive process where Y_t+1 >depends on its lagged value Y_t. >If I wanted to simulate a simple AR(1) process I would have done >something as follows: > >n<-500 >Y_init_cond<-0 >Et<-ts(rnorm(n,mean=0,sd=1)) >Yt<-Et*0 >Yt[1]<-Y_init_cond+Et[1] >for(i in 2:(n)) { > Yt[i]<-Yt[i-1]+Et[i] >} >Yt<-ts(Yt[(length(Yt)-n+1):length(Yt)]) > >where Et is a vector of random errors. >Since I do not want to simulate a simple autoregressive process the >code above is no longer suitable for my purpose. >In fact what I want to do is a function as Y_t+1 = Y_t + >(1\p)*summation(x(Y_t,Y_t-1,...)) + epsilon.t, >where Y_t+1 depends on its lagged value Y_t, but also on 1/p (which is >a parameter) times summation(x(Y_t,Y_t-1,...)) where x is a function >that also depends on the lagged values of Y_t+1 from Y_t to Y_t-n. >Epsilon_t is, as You said a vector of random errors. > >Any suggestion is very appreciated. > >thanks and best regards, >Simone > >From: Rui Barradas >Sent: Saturday, December 22, 2012 8:29 PM >To: Simone Gogna >Cc: r-help@r-project.org >Subject: Re: [R] creating a function > >Hello, > >It's a bad idea to name a function and one of it's arguments Y, use >Yfun and Y. >What does summation(x(Y.t, Y.t-1, ...)) mean? Is there a multiplication >sign between x and (Y.t, ...)? >And is epsilon a vector of errors, one for each Y.t? >If so, the following might do it. > > >Yfun <- function(Y, p, x, epsilon){ > for (i in 2:length(Y)) { > Y[i] <- Y[i-1] + (1/p)*sum(x*Y[1:(i-1)]) + epsilon[i] > } > Y >} > > >Hope this helps, > >Rui Barradas > >Em 22-12-2012 09:29, Simone Gogna escreveu: >Dear R users, >I��������d like to create a function as: > >Y.t+1 = Y.t + (1\p)*summation(x(Y.t,Y.t-1,...)) + epsilon.t > >where x is a function of Y.t, Y.t-1 and so on, epsilon is a random >error and p is a parameter. > >Do you think something of the following form might be appropriate? > >Y<-function(Y,p,x,epsilon){ > for (i in 2:length(Y)) { > Y[i]<-Y[i-1]+(1/p)*sum(x(Y[i-1]))+epsilo.t} > Y >} > >Any indication is warmly appreciated. > >thanks and best regards > [[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. > > > [[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. ______________________________________________ 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.