Shiny selectInput()中的输入ID未刷新结果

时间:2013-12-30 07:01:25

标签: r shiny

我正在尝试在ui.R中提供组织名称作为输入,如下所示 -

selectInput("Organization", "Enter an Org:", choices = c("Blenheim Palace", "Chatsworth", "Gloucester Cathedral", "Manchester Cathedral", "Royal Albert Hall", "StPauls Cathedral"))

我尝试使用此输入来刷新wordcloud。基本上,当我选择一个组织时,比如Blenheim Palace,wordcloud应该随着来自tripadvisor.com的该组织的评论而改变。 我的server.R代码如下 -

OrganizationInput <- reactive({switch(input$Organization, "Blenheim Palace" = Blenheim_Palace, "Chatsworth" = Chatsworth, "Gloucester Cathedral" = Gloucester_Cathedral, "Manchester Cathedral" = Manchester_Cathedral, "Royal Albert Hall" = Royal_Albert_Hall, "StPauls Cathedral" = StPauls_Cathedral)}) 

rawData <- reactive(function(){
    some_txt <- sqlQuery(dbhandle, 'SELECT REVIEW_COMMENTS FROM XXXXXX.tripadvisor_data where brand_name = "OrganizationInput()"')
    some_txt <- data.frame(some_txt)

我尝试使用rawData()作为wordcloud的输入。但我得到以下错误 - Error: invalid 'cex' value,如果我在rawData中给出个人名字(比如Blenheim Palace),它就可以了。 任何帮助/澄清将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

如果你想让OrganizationInput成为一个字符串,你需要在switch a la中引用这些值:

OrganizationInput <- reactive({switch(input$Organization, "Blenheim Palace" = "Blenheim_Palace", "Chatsworth" = "Chatsworth", ...

否则,您正在尝试引用名为Blenheim_Palace的变量,该变量可能不存在,对吧?

答案 1 :(得分:1)

这实际上是在sqlQuery()中参数化输入$ Organization的问题。我使用了

的想法

R Shiny error 'closure' not subsettable

它有效。谢谢你回答我的问题。