【发布时间】:2020-06-08 23:26:50
【问题描述】:
问题来了:
在 file.r 中,我基于一个庞大的数据集进行了广泛的分析。 每次我打开文件时,我只需要加载库,一切都准备好了。 我不再需要下载任何我需要的数据集输入。
现在我创建了一个 RMD file.rmd 与 file.r 相同的代码来展示它的发现。 我正在尝试预览 pdf 的外观。 问题是当我点击“Knit to pdf”时,它会再次开始下载所有的包和数据集。我必须等待几个小时才能看到代码中微小更改的效果。
还有更多: 在 R 文件中创建的一些对象在 rmd 文件中根本不起作用。
例如:在 R 文件中我编码:
edx2 <- edx2 %>% mutate(timeRr = yearRating - release)
当我尝试在 rmd 文件中运行相同的代码时,我收到以下消息: Func(x[[i]],...) 中的错误:找不到对象 'timeRr' 调用:f -> scales_add_defaults -> lapply -> fun 两个文件(r 和 rmd)中加载了相同的库
我做错了什么?
【问题讨论】:
-
您可以将
eval=FALSE添加到不需要运行的Rmd 块中,或者将cache=TRUE添加到仅在发生更改时才需要运行的块中。您的第二个问题:很可能timeRr存在于您的 R 环境中,但由于某种原因不在 Rmd 环境中例如生成它所需的代码不存在。 -
谢谢,尼尔。但它没有奏效。我将
{r, cache=TRUE}放在每个重要的 R 块中,但是当我将 rmd 文件编织成 pdf 时,它会从头开始执行所有操作(下载等)。关于第二个问题: rmd 包含创建 timeRr 变量的代码,如下:edx2 <- edx2 %>% mutate(timeRr = yearRating - release) -
只是为了澄清一下,您是在 Rstudio 中运行它还是通过命令行运行它,例如
rmarkdown::render("file.Rmd") -
Jared:我在 RStudio 中运行一切。 R 文件的选项卡和 rmd 文件的另一个选项卡。
标签: r r-markdown markdown knitr