小编Tee*_*Tee的帖子

由于数据集较大,R Markdown 文件编织速度较慢

我是 R Markdown 新手。如果我错过了这个问题的明显答案,我深表歉意。

语境:

我正在使用 R Markdown 中的大型数据集(大约 9000 万行)来生成简短的报告。在处理文件格式时,我想经常编织最终的 HTML 文档(例如,在进行更改后)以查看格式。

问题:

问题是数据集需要很长时间才能加载,因此每次编织都需要很长时间才能执行(大约五到十分钟)。我确实需要所有数据,因此加载较小的文件不是一个可行的选择。当然,我能够对各个块进行编码,因为数据已加载到全局环境中,但格式化非常繁重,因为在不查看针织产品的情况下很难可视化格式化更改的结果。

尝试解决问题:

经过一番研究,我发现并尝试使用cache = TRUEand cache.extra = file.mtime('my-precious.csv') (根据 Yihui's Bookdown 的这一部分)。然而,这个选项不起作用,因为它导致了以下结果:

Error in lazyLoadDBinsertVariable(vars[i], from, datafile, ascii, compress,  : 
  long vectors not supported yet: connections.c:6073
Calls: <Anonymous> ... <Anonymous> -> <Anonymous> -> lazyLoadDBinsertVariable
Run Code Online (Sandbox Code Playgroud)

为了克服这个错误,我添加cache.lazy = FALSE了块选项(如此处所述)。不幸的是,虽然代码有效,但编写文档所需的时间并没有减少。

我对这个过程的有限理解是,具有cache = TRUEcache.extra = file.mtime('my-precious.csv')将导致代码块的执行结果被缓存,以便下次编织文件时,加载上次运行的结果。但是,因为我的文件太大,所以cache = TRUE不起作用,所以我必须使用cache.lazy = FALSE来反转cache = TRUE. 最后,这意味着每次运行文件时数据集都会加载到我的内存中,从而延长了编织文档所需的时间。 …

caching r knitr r-markdown

5
推荐指数
1
解决办法
3224
查看次数

标签 统计

caching ×1

knitr ×1

r ×1

r-markdown ×1