Mark W Kimpel wrote: > I am running a very long loop and would like to save intermediate > results in case of a system or program crash. Here is the skeleton of > what my code would be: > > for (i in 1:zillion)
I'm a bit worried about this line: > 1:zillion > Error: cannot allocate vector of size 4 zillion bytes hmm, lets try on a machine with a few more zillion bytes of RAM: > 1:zillion Error: result would be too long a vector > Is there an even better way to address my need? Looping over vectors like this involves the uneccesary creation of a long vector. For anything up to a million its probably okay, but once you start getting into the zillions... You can do it with less storage by just having a while loop: > while (i != 100 ){print(i);i=i+1} Many modern computer languages have "iterators" for looping, which abstract all the looping functionality into an object. I started writing something for R a few years ago but never got round to finishing it. It let you do this: myLoop <- loop(N=10,step=1,start=1) while(iterate(myLoop)){ doSomething() } The 'myLoop' object here is the iterator that controls the looping. You can use it to get the iteration number and then use the i %% 1000 test everyone else has told you about by now... Anyway, if anyone has a spare R programmer kicking around and would like all my looper code, just ask... Barry ______________________________________________ R-help@stat.math.ethz.ch 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.