除非手动创建,否则无法识别对象

时间:2014-10-28 20:00:31

标签: r shiny

我的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

sTableTypes0-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并加载到源脚本和服务器顶部.R。
  • 使用超级分配保存sTableTypes
  • 使用sTableTypes保存assign()并指定envir = .GlobalEnv
  • 运行脚本,使用save.image()保存环境并使用load(..., envir = .GlobalEnv)
  • 加载环境

所有包都是最新的update.packages(),我目前正在运行R版本3.1.1。

1 个答案:

答案 0 :(得分:3)

根据您的评论,我的建议是在global.r中找到该文件。您可以在与ui.rserver.r文件相同的目录中创建此文件。 ui和服务器都可以使用此文件中的任何内容。