【问题标题】:Objects aren't recognized unless manually created除非手动创建,否则无法识别对象
【发布时间】: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

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

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

【问题讨论】:

  • sTableTypes 在哪里使用-在server.rui.r 或两者兼有?
  • 哦!!!它在两者中都使用,所以我必须在两者中都使用它。现在工作。谢谢,约翰·保罗。
  • 刚刚发布了另一个建议作为答案

标签: r shiny


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2015-04-09
    • 2013-03-26
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    相关资源
    最近更新 更多