我正在尝试构建一个小型闪亮的应用程序,一旦按下actionButton就会调用源文件。 actionButton观察者将从input$topic
捕获input$num
和ui.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应用程序。
答案 0 :(得分:0)
看起来缺少input$hashtagClass
。在该行上方但在观察表达式内部放置browser()
行。当应用程序运行并触发此代码时,这将使您进入断点。您可以通过req
电话解决问题。请使用?req
进行查找。
@pork chop建议将local=T
添加到source
也很重要。这会将任何指定的变量放入全局环境。