r - 每次我将它编织成pdf时,如何避免rmd文件执行整个R脚本?
问题描述
这是问题:
在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)
我究竟做错了什么?
解决方案
1) 在数据分析(file.R)结束时,将 Notebook 所需的数据保存在 .RDS 文件中。
例如,如果您生成 3 个结果:res1、res2 和 res3
results <- list(res1 = res1, res2 = res2, res3 = res3)
saveRDS(file = 'results.RDS', results)
2)而不是采购分析脚本,只需阅读笔记本(.Rmd)中的结果
data <- readRDS('results.RDS')
# Results available for further use in the Notebook
data$res1
data$res2
data$res3
您使用 edx2 得到的错误可能是由于在生成笔记本期间打开了一个新会话:您确定 file.R 真的生成 edx2,还是仅在您当前的会话中可用?
推荐阅读
- vim - 有没有办法执行 txt 文件中的 vim 命令以及文本?
- javascript - 我如何使响应机器人不继续响应?
- python - 不能在 python 中使用代理
- javascript - 以角度动态更改各种输入的css属性
- android - 如何为从中心位置到全直径的波纹效果设置动画
- python-3.x - 如何解析我的 pcap 文件中的所有数据包而不是一个?
- c# - 如何打包 C# 9 源代码生成器并将其上传到 Nuget?
- javascript - SVGR (SVGO) removeAttrs 不移除指定的填充属性
- java - Intellij 编译错误:java:错误:不支持发布版本 5
- google-sheets - 计算 Google 表格中月份和类别的是和否的数量