【发布时间】:2014-12-24 09:28:11
【问题描述】:
我的 server.R 文件开始:
library(shiny)
source("scripts/0-Prepare-Inputs.R")
source("scripts/1-Analysis-Functions.R")
shinyServer(function(input, output) {})
如果我手动执行这两个帮助脚本,那么runApp() 会按需要工作。但是,如果我首先清除环境,然后允许 source() 命令运行脚本,则找不到在 0-Prepare-Inputs.R 中创建的两个对象。错误显示如下:
> shiny::runApp()
Listening on http://127.0.0.1:5591
Error in lapply(obj, function(val) { : object 'sTableTypes' not found
sTableTypes在0-Prepare-Inputs.R内按如下方式生成:
sTableTypes <- list(races = c("All", "White", "Black", "Hispanic", "NHWhite", "NHBlack"),
genders = c("Total", "Male", "Female"))
仅运行此行允许runApp() 正常运行。
我需要解决这个问题才能使用 ShinyApps.io。
我尝试过但不起作用的方法:
- 更改
source()中的本地参数。 - 将
source()命令替换为源文件的所有行。 - 将
sTableTypes的创建封装在脚本文件中调用的函数中。 - 将
sTableTypes的创建封装在一个作为反应对象调用的函数中。 - 将
sTableTypes保存为 rObject 并加载到源脚本和 server.R 的顶部。 - 使用超级赋值保存
sTableTypes。 - 使用
assign()保存sTableTypes并指定envir = .GlobalEnv。 - 运行脚本,使用
save.image()保存环境并使用load(..., envir = .GlobalEnv)加载环境
根据update.packages(),所有包都是最新的,我目前正在运行 R 版本 3.1.1。
【问题讨论】:
-
sTableTypes在哪里使用-在server.r或ui.r或两者兼有? -
哦!!!它在两者中都使用,所以我必须在两者中都使用它。现在工作。谢谢,约翰·保罗。
-
刚刚发布了另一个建议作为答案