通过环境

时间:2016-09-05 14:10:40

标签: r shiny

我正在尝试构建一个小型闪亮的应用程序,一旦按下actionButton就会调用源文件。 actionButton观察者将从input$topic捕获input$numui.R,然后调用此source("downloadTweets.R")文件,该文件需要在环境中定义的主题和num变量才能正常工作。< / p>

# Entry shiny server function
shinyServer(function(input, output) {

  observeEvent(input$searchButton, {
    topic <- as.character(input$hashtagClass)
    num <- as.numeric(input$numTweetsClass)
    source("downloadTweets_Topic.R")
  })
})

当我尝试运行它时,会出现一条错误消息,指出topic调用后未找到source("downloadTweets_Topic.R")值。我对Shiny很新,我阅读范围文档并使用reactive()函数,但我担心我不知道它是如何工作的。有没有办法做到这一点或者我应该重新实现.R文件,以便我可以将这些值传递给函数?

我这样做的原因仅仅是来自R Studio中不同项目的代码拒绝,而不是Shiny应用程序。

1 个答案:

答案 0 :(得分:0)

看起来缺少input$hashtagClass。在该行上方但在观察表达式内部放置browser()行。当应用程序运行并触发此代码时,这将使您进入断点。您可以通过req电话解决问题。请使用?req进行查找。

@pork chop建议将local=T添加到source也很重要。这会将任何指定的变量放入全局环境。