我有这段代码几个月前正在运行,但现在已经不行了。我改变了目录,但数据是一样的。
我的问题是永远不会保存缓存。我尝试了不同的方法:dep_prev(),dep_auto()+ autodep或者依赖和不同的调试方法,但似乎没有任何工作。计算仍在每次运行时执行,缓存文件夹中没有任何内容。 出现的另一个问题是我的数据不再出现在我的pdf文件中。它们在执行R代码时弹出,但它们没有保存(问题可能与缓存问题有关)。
在我的代码中,我在第一个块中设置了所有内容,然后我不在以下块中添加任何选项。这是我的第一个块的代码:
<<setupKnitr, include=FALSE, cache=FALSE>>=
library(knitr)
## set global chunk options
opts_chunk$set(fig.path='figures_knitR/', cache.path='cache/', fig.align='center', fig.show='asis', par=TRUE, tidy = TRUE, cache = TRUE, autodep=T, fig.keep='all', dev='tikz', echo = TRUE, eval = TRUE)
opts_knit$set(output.dir = getwd())
dep_auto()
options(formatR.arrow=TRUE, width=68, digits=4)
options(tikzDefaultEngine = 'pdftex')
@
在查看dep_auto函数时,我发现了一些奇怪的东西:它使用了我的R会话中未知的函数valid_path和parse_objects,这可能是导致问题的原因。而且我找不到它们来自的包裹。
这是我的sessionInfo
> sessionInfo()
R version 3.2.0 (2015-04-16)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu precise (12.04.5 LTS)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
other attached packages:
[1] jerdev_0.1 knitr_1.10.5
loaded via a namespace (and not attached):
[1] tools_3.2.0 tcltk_3.2.0
非常感谢你的帮助!