2012-12-23 65 views
2

我已经开始创建一个Web应用程序使用闪亮的地方,用户输入一个搜索字词和包含该字词的推文返回。停止功能开始有光泽,直到按下按钮

当我加载此应用程序searchTwitter功能自动开始,并在主面板上有错误:Error: You must enter a query.

搜索项在TextInput框中输入并有一个提交按钮。你可以输入一个术语,它可以正常工作,但我不希望错误成为用户看到的第一个东西。

ui.R:

library(shiny) 

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

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

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

server.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()) 
    }) 

}) 

感谢您的帮助

+0

我的问题在这里得到解答:http://stackoverflow.com/questions/15840803 – user1414259

回答

1

这是从你的应用程序设计的逻辑要求,你应该考虑通过如何做到这一点。

一个简单的方法是添加一个提供真/假的勾号,如果值为FALSE,则跳过实际的twitter搜索。您可能需要缓存的rawTweets以前的值,或将其设置为NULL,或...

0

的mainPanel(

H3(textOutput( “搜索”)),

tableOutput( “视图” ) )

尝试没有第二 “”