Hi
I have made the sample code again. Could you please guide how to use
vectorization for variables whose next value depends on the previous one?
w = NULL
for(j in 1:1000)
{
z = NULL
x = rnorm(2000)
z[1] = x[1]
for(i in 2:2000)
{
z[i] = x[i]+5*z[i-1]
if(z[i]>4 | z[i]<1) {
w[j]=i
} else {
w[j] = 0
}
}
}
On Sun, Jan 31, 2021 at 10:01 AM David Winsemius <dwinsemius at
comcast.net>
wrote:
>
> On 1/30/21 8:26 PM, Shaami wrote:
> > Hi
> > I have very large dependent nested for loops that are quite expensive
> > computationally. It takes weeks and does not end to give me results.
> Could
> > anyone please guide how could I use apply function or any other
> suggestion
> > for such big and dependent loops in R? A sample code is as follows.
> >
> > w = NULL
> > for(j in 1:1000)
> > {
> > x = rnorm(2000)
> > z = x[1]
> > for(i in 2:2000)
> > {
> > z = x[i]+5*z[i-1]
>
> I'm guessing you meant to type:
>
> z[i] <- x[i]+5*z[i-1]
>
> > if(z>4 | z<1) {
>
> And more guesses (in the absence of any sort of problem description)
> that you really wanted:
>
>
> if(z[i]>4 | z[i]<1) { ....
>
>
> > w[j]=i
> > break
> > } else {
> > w[j] = 0
> > }
> > }
> > }
>
>
> Are you sure you need a for-loop? Seems like you could have done this
> with a couple of vectorized operations. And the `break` looked entirely
> superfluous.
>
>
>
> > Thank you
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > 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]]