如何将RMarkdown代码块运行结果存储到不同环境中?
在RMarkdown中为代码块指定独立运行环境
实现步骤
提前创建独立环境
先在初始化代码块里生成需要的独立环境,用于分别存储不同运行场景的结果:# 创建两个独立环境,按需扩展数量 env1 <- new.env() env2 <- new.env()为代码块指定运行环境
直接在代码块的chunk选项中通过envir参数指定目标环境,无需额外用local()包裹代码:
针对env1的代码块:v <- 1result <- v + 1针对env2的代码块(仅需修改
envir参数,代码逻辑可直接复用):v <- 2result <- v + 1查看不同环境的结果
通过环境名直接访问内部变量,全局环境不会被污染:# 查看env1的计算结果 env1$result # 查看env2的计算结果 env2$result # 验证全局环境无冗余变量 exists("v") exists("result")
说明
这种方式完全匹配你的需求:切换环境仅需修改代码块的envir参数,不同环境的变量相互独立,既不会覆盖已有结果,也不会污染当前工作环境,比用local()包裹的写法更简洁直观。
内容的提问来源于stack exchange,提问作者cloudscomputes
相关产品推荐
相关产品推荐

