2

Rnw假设我在一个文件中包含两个代码块,code_block_1并且code_block_2. 可以说我对更改进行了更改code_block_1code_block_2保持不变。

我正在使用knitrRnw文件转换为tex文件。因为code_block_2一直保持不变,我knitr只能评估和运行code_block_1吗?

4

1 回答 1

4

首先在这里查看knitr选项:http: //yihui.name/knitr/options/。我认为您正在寻找的是cache选项。试试这个小例子,并注意时间从一次运行到另一次运行仅针对您实际更改代码的块:

首轮:

\documentclass{article}
\begin{document}

<<code_block_1, cache=TRUE>>=
set.seed(123)
x <- rnorm(10)
summary(x)
Sys.time()
@

<<code_block_2, cache=TRUE>>=
set.seed(123)
y <- rnorm(10)
summary(y)
Sys.time()
@

\end{document}

输出:

IM1

第二次运行(在第二个块中添加注释后):

\documentclass{article}
\begin{document}

<<code_block_1, cache=TRUE>>=
set.seed(123)
x <- rnorm(10)
summary(x)
Sys.time()
@

<<code_block_2, cache=TRUE>>=
# Just added a comment in this chunk
set.seed(123)
y <- rnorm(10)
summary(y)
Sys.time()
@

\end{document}

输出:

IM2

于 2015-04-09T15:06:18.417 回答