Duncan Murdoch <murdoch.duncan <at> gmail.com> writes:
As others have said, there are packages that provide caching. I haven't used them, because I like to keep my projects as self-contained as possible: adding a dependency on one of those packages is undesirable[1]. What I do in the case where there are time consuming calculations is to do all the calculations in a script, and save the results (using save()). Then the Sweave document will load the objects (using load()) and do post-processing, plotting, etc.
Using the make/Makefile system is a good idea for more rigor/reproducibility here.