Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用sweaver处理不同的长任务?_R_Latex_Sweave - Fatal编程技术网

如何使用sweaver处理不同的长任务?

如何使用sweaver处理不同的长任务?,r,latex,sweave,R,Latex,Sweave,我正在使用Rstudio和swave生成报告。 一切都很顺利,但我必须做很多不同的繁重的计算。 他们每个人都花了不同的时间 我的文件现在如下所示: \documentclass{article} \usepackage{amsmath} \usepackage{amscd} \usepackage[tableposition=top]{caption} \usepackage{ifthen} \usepackage[utf8]{inputenc}

我正在使用Rstudio和swave生成报告。 一切都很顺利,但我必须做很多不同的繁重的计算。 他们每个人都花了不同的时间

我的文件现在如下所示:

    \documentclass{article}

    \usepackage{amsmath}
    \usepackage{amscd}
    \usepackage[tableposition=top]{caption}
    \usepackage{ifthen}
    \usepackage[utf8]{inputenc}

    \begin{document}
    \SweaveOpts{concordance=TRUE}

    \title{OES dataset}
    \author{Luca Puggini}

    \maketitle

    \section{The dataset}
   This is my data:
<<echo=T>>=
#suppose this  is a very heavy task that takes a lot of time
x=matrix(rnorm(100),10,10)
y=rnorm(10)
@
\section{operation}
Now let's do some operations 
<<echo=T>>=
x=x+1
y=y+10
@

\end{documents}
如何在不重新计算所有任务(但仅最后一个任务)的情况下编译pdf

编辑: 也许最好的办法是切换到knitr并使用缓存。 有人能写下如何使用缓存解决此问题的代码吗?

请看包含许多缓存解决方案的

缓存解决方案也很容易在块中自己完成:

 if (!exists(someVar)) {
     if (file.exists("cache/someVar.rds")) {
         someVar <- readRDS("cache/someVar.rds")
     } else {
         someVar <- reallyExpensiveComputation()
         saveRDS(someVar, "cache/someVar.rds")
     }
 }
如果(!存在(someVar)){
if(file.exists(“cache/someVar.rds”)){

someVar您可以实现一个简单的缓存系统-如果存在某些结果(打印图像、文本输出等),请使用它,否则请运行计算并保存结果。创建一些名称约定以一种巧妙的方式保存结果。如果切换到
knitr
(可能是个好主意),则有一个内置缓存系统(谷歌“knitr cache”)人们仍然使用Swave?@Tylerinker:当然,这件不成熟的针织品到底是什么?我可能会搬到knitr。如果有更好的东西,请告诉我。你能写下如何使用knitr解决我最初的问题吗?
 if (!exists(someVar)) {
     if (file.exists("cache/someVar.rds")) {
         someVar <- readRDS("cache/someVar.rds")
     } else {
         someVar <- reallyExpensiveComputation()
         saveRDS(someVar, "cache/someVar.rds")
     }
 }