R markdown以使用环境中现有的变量,并且不再运行代码

s4n0splo  于 2023-01-18  发布在  其他
关注(0)|答案(2)|浏览(151)

也许我没有正确地使用R markdown,但是我的第一行代码加载了一个非常大的数据集,然后进行分析。每次我编织pdf看看它看起来像什么,它再次运行所有的代码,这需要相当长的时间。数据已经存储在环境中,所以有没有一种方法让R不运行所有的代码再次,但显示与修改的pdf?

nwnhqdif

nwnhqdif1#

如果加载非常大的数据集是个问题,可以尝试使用特殊的包来读取数据,比如readr
或者,由于您在PDF中处理设计或表示,因此您可以处理数据的子集,例如仅处理前100000行。
否则,我将在第一个代码块中使用以下代码

library(knitr)
# global setting to create this document
opts_chunk$set(cache=TRUE,
               echo=TRUE, # set to FALSE to remove the code output
               warning=FALSE, 
               message=FALSE)

所以我不需要在每个块中都设置cache=TRUE
希望这个有用。

j13ufse2

j13ufse22#

我的技巧也在不断发展:
1.要在块的eval=params$do.readdata上使用的参数
1.这种类型的构造:

if (exists('<name of data table>') {
          load(<file>, verbose=TRUE) or st_read_feather...
       } else {
          <read in data>
       }

1.直到最近,我还在块上使用缓存选项,但最近我了解到,将数据的导入和处理放在一个函数中是为了将其从全局环境中移除(如果内存是一个问题的话),并返回稍后需要的较小子集或结果,因此,缓存可能不是一个选项。

相关问题