Минимальный пример выглядит следующим образом:
\documentclass{article}
<<setup, echo = FALSE>>=
knitr::opts_chunk$set(
cache = TRUE,
autodep = TRUE
)
@
\begin{document}
<<chunk1>>=
n <- 6
rnorm(n)
@
<<chunk2>>=
n <- 10
rnorm(n)
@
\end{document}
Запустите код один раз, результаты кешируются. Когда я изменяю код в первом чанке, скажем n <- 10
и перезапускаю код, чанк2 также перестраивается. Я ожидаю, что chunk2 не будет перестроен, так как он не должен зависеть от n
в первом чанке.
Я использовал rnorm
в приведенном выше примере. Как упомянуто @ m0nhawk, два куска косвенно связаны. Следующий код не включает случайные. Проблема все та же.
\documentclass{article}
<<setup, echo = FALSE>>=
knitr::opts_chunk$set(
cache = TRUE,
autodep = TRUE
)
@
\begin{document}
<<chunk1>>=
n <- 6
print(seq_len(n))
print(Sys.time())
@
<<chunk2>>=
n <- 10
print(seq_len(n))
print(Sys.time())
@
\end{document}