2

我已经开始使用闪亮创建一个网络应用程序,用户输入搜索词并返回包含该词的推文。

当我加载此应用程序时,该searchTwitter功能会自动启动,并且在主面板上出现错误:Error: You must enter a query.

在文本输入框中输入搜索词,并有一个提交按钮。您可以输入一个术语,它工作正常,但我不希望错误成为用户看到的第一件事。

ui.R:

library(shiny)

shinyUI(pageWithSidebar(  
  headerPanel("Twitter Generator"),

  sidebarPanel(    
    textInput("search", "Search Twitter For:", value = ""),    
    submitButton("Search")
    ),  

  mainPanel(
    h3(textOutput("search")),
    tableOutput("view"), 
    )
))

服务器.R:

library(shiny)
library(twitteR)

shinyServer(function(input, output) {

  datasetInput <- reactive(function(){
    rawTweets <- twListToDF(searchTwitter(paste(input$search)))
    rawTweets$cleanText <- as.vector(sapply(rawTweets$text, CleanTweet))  
    rawTweets[, colnames(rawTweets) != "created"]    
  })

  output$search <- reactiveText(function() {
    input$search    
  })

  output$view <- reactiveTable(function() {   
    head(datasetInput())
  })

})

谢谢你的帮助

4

2 回答 2

1

这是对您的应用程序设计的合乎逻辑的要求,您应该考虑如何去做。

一种简单的方法是添加一个提供 true/false 的刻度按钮,如果值为 ,则跳过实际的 twitter 搜索FALSE。您可能需要缓存 的先前值rawTweets,或将其设置为 NULL,或...

于 2012-12-23T15:14:35.283 回答
0

主面板(

h3(文本输出(“搜索”)),

表输出(“视图”))

不带第二个“,”试试

于 2013-04-03T07:13:53.160 回答