You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R脚本f2.R中执行外部Rmd文件f1.Rmd的所有R代码块并保留变量?

实现方法

要在f2.R中执行f1.Rmd的所有R代码块并保留变量,直接用knitr包的purl函数即可,步骤如下:

  • 先确保环境中安装了knitr包,未安装则先完成安装
  • 提取f1.Rmd中的代码块并在当前会话执行

具体在f2.R中写入以下代码:

# 检查并安装knitr包
if (!requireNamespace("knitr", quietly = TRUE)) {
  install.packages("knitr")
}
library(knitr)

# 提取f1.Rmd的代码块并在当前会话执行,变量保留
temp_script <- purl("f1.Rmd", output = tempfile(), quiet = TRUE)
source(temp_script, local = TRUE)

说明

  • purl函数会自动提取f1.Rmd中所有**未设置eval=FALSE**的R代码块,生成临时R脚本,和RStudio"运行以下所有代码块"的逻辑完全一致
  • source(temp_script, local = TRUE)确保代码在当前R会话的环境中执行,所有生成的变量都会保留在全局环境(或当前调用环境)中

内容的提问来源于stack exchange,提问作者Gilles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:11:09