如果在R中从脚本和服务器端调用,如何使变量成为全局变量?

如果在R中从脚本和服务器端调用,如何使变量成为全局变量?,r,shiny,global-variables,R,Shiny,Global Variables,让我们看看下面的例子 有两个文件:“setting.R”和“app.R”作为web应用程序使用,其中“setting.R”的名称为app和窗口标题。在加载应用程序期间,我必须在服务器端调用“settings.R”(仅以这种方式)。不幸的是,“settings.R”中的变量不是全局变量,我在闪亮的服务器日志“navbarPage中的错误(app_name…object'app_name'未找到)”中得到错误。使用“可以根据 我用它来定义自定义函数并加载要在ui.R和服务器中使用的数据。R谢谢!我编

让我们看看下面的例子


有两个文件:“setting.R”和“app.R”作为web应用程序使用,其中“setting.R”的名称为app和窗口标题。在加载应用程序期间,我必须在服务器端调用“settings.R”(仅以这种方式)。不幸的是,“settings.R”中的变量不是全局变量,我在闪亮的服务器日志“navbarPage中的错误(app_name…object'app_name'未找到)”中得到错误。使用“可以根据


我用它来定义自定义函数并加载要在
ui.R
服务器中使用的数据。R

谢谢!我编辑了这个问题。问题是我必须在“setting.R”中运行代码,这取决于服务器端定义的“app\u id”值。
settings.R
=====
if(app_id == "1") {
  app_name <- "App 1"
  window_title <- "Title 1"
}

if(app_id == "2") {
  app_name <- "App 2"
  window_title <- "Title 2"
}

app.R
=====   

# Server
server <- function(input, output, session) {      
  output$uo_init_app <- renderUI({
    app_id <- "1"        
    source("settings.R")        
  })      
}

# UI
ui <- fluidPage(
   navbarPage(app_name, 
              windowTitle = window_title, 
              fluidPage(
                fluidRow(uiOutput("uo_init_app")),
                fluidRow("App")
              ))

# Run app
shinyApp(ui, server)