我正在尝试在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),它就可以了。
任何帮助/澄清将受到高度赞赏。
答案 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
它有效。谢谢你回答我的问题。