Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将RSHINY文本输入分配给变量,以便在源脚本中使用_R_Shiny - Fatal编程技术网

将RSHINY文本输入分配给变量,以便在源脚本中使用

将RSHINY文本输入分配给变量,以便在源脚本中使用,r,shiny,R,Shiny,我有一个基于excel文件生成报告的脚本。我正试图将其包装在一个闪亮的UI中,这样我的同事就可以使用它,但经过数小时的研究,我似乎仍然找不到如何将文本输入存储为变量,以便在使用source()调用报表时使用。我知道它存储为input$textinput,但我不能在脚本中使用它作为变量。我的意见是: textInput("locusinput", h3(strong("Enter Location")), value = ""),

我有一个基于excel文件生成报告的脚本。我正试图将其包装在一个闪亮的UI中,这样我的同事就可以使用它,但经过数小时的研究,我似乎仍然找不到如何将文本输入存储为变量,以便在使用source()调用报表时使用。我知道它存储为input$textinput,但我不能在脚本中使用它作为变量。我的意见是:

  textInput("locusinput", h3(strong("Enter Location")), value = ""),
  actionBttn(inputId = "report", label = "Generate Report", style = "gradient", color = "royal", 
  size = "md", block = TRUE),
我的输出是:

 observeEvent(input$report, {
          loc <- renderText(input$locusinput, quoted = TRUE)
          output$test <- renderText({paste("<font color = \"#6495ED\"><b>","You have generated a report for ", input$locusinput ,"</b></font>")})

          source("Wastewater_Reporting.R")
observeEvent(输入$report{

loc您可以使用
input$locusinput
作为Shinny中的正常变量,但有一点需要注意:它必须处于被动上下文中,例如
observeEvent
reactive
。在这种被动上下文中,您可以调用脚本。要了解Shinny的概念,请看一看我不想更改变量的每个实例在“otherscript.r”中输入$locusinput。我希望能够将其分配给另一个脚本中使用的变量。您可以使用
loc我在问题中更新了我的代码,以包括我周围的“观察事件”,但我意识到我没有任何表示“反应性”的内容在我的代码中。如何将其置于反应性上下文中?
observeEvent
是一个反应性上下文,因此这很好。如果在
observeEvent
中使用
源(“Wastewater\u Reporting.R”)
(如果脚本找到正确的
loc
变量),我不确定作用域是否正确工作,我从未尝试过。您能否将“waterwagen\u Reporting.R”的内容重新格式化为一个函数,将
loc
参数作为输入。然后您可以使用
source(“waterwagen\u Reporting.R”)
observeEvent中调用该函数
loc <- input$locusinput
loc <- renderText(input$locusinput)
loc <- isolate(input$locusinput)
source("otherscript.r")