采购依赖于主/主Shiny文档中设置的变量的外部R脚本

use*_*372 5 r rstudio knitr r-markdown shiny

我刚刚安装了RStudio预览版,版本0.98.864(2014年5月24日).另外,我已经安装了knitr和shiny,via的开发版本

devtools::install_github(c("yihui/knitr", "rstudio/shiny"))
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个Shiny Document(使用带有Shiny Document模板的Rstudio对话框)来:

1)设置变量的值,例如以下代码是我的Rmd文件的内容:(我必须将其作为图像放置,因为正在播放格式) 在此输入图像描述

2)在同一目录中使用R脚本(testExternalisation.R),该目录使用.Rmd文件中设置的变量x; 代码如下:

y <- x + 3
Run Code Online (Sandbox Code Playgroud)

但是,在运行.Rmd文档时,我收到以下消息:"错误:找不到对象'x'.现在,如果我删除了.Rmd文件的前3行,即Shiny html_document的前端内容,我是完全能够编织生成的.Rmd文档.是否有一个解决方案,用于在Shiny Documents中获取外部脚本,这些脚本依赖于调用Shiny Doc中的变量?

编辑:编织文档时,环境()返回<environment: R_GlobalEnv>.Rmd和.R文件.但是,在运行Shiny文档时,.Rmd环境<environment: 0x05828968>和源环境是<environment: R_GlobalEnv>,所以我需要确保两者使用相同的环境...

谢谢.

use*_*372 6

以下似乎解决了这个问题:将source()函数更改为

source("testExternalisation.R", local=environment())
Run Code Online (Sandbox Code Playgroud)