【问题标题】:Loading packages in knitr在 knitr 中加载包
【发布时间】:2015-02-20 14:01:52
【问题描述】:

我想在我的所有块中使用几个包,但我不确定这样做的聪明方法是什么。我正在使用 .Rmd 文件。我试过了 做这样的事情:

```{r packages}
library("magrittr")
library("dplyr")
```
```{r data, cache=TRUE, dependson="packages" }
tab_str <- "name,id
Mike,1
Susan,2"
tab <- read.csv(text = morfo_str)
```
```{r name, dependson="data"}
tab %>% select(name)
```

但是 knitr 并没有将块“数据”放入缓存中。有没有办法 让 knitr 缓存包,或者以某种方式列出所有块中加载的包?

【问题讨论】:

  • 抱歉,``` 无法显示。

标签: r knitr


【解决方案1】:

当我编写你的代码时,我看到了:

Warning message:
code chunks must not depend on the uncached chunk "packages" 

并将cache=TRUE 添加到packages 块可以解决此问题。

你没有看到那个警告信息吗?

【讨论】:

  • 问题是下次你用“cache=TRUE”运行代码时,你不能使用其他卡盘中的包。
  • 最好不要依赖加载包的块,也不要缓存它。我真的不明白为什么用 library 调用更改一个块应该使缓存的块无效,除非你在两个具有相同功能的包之间翻转。此外,每次我尝试在 knitr 中缓存时,我最终都放弃了 :)
猜你喜欢
  • 2016-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多