2017-02-05 6 views
2

Ich versuche, ein Beispiel zu führen, um Tweets in R mit Shiny zu verarbeiten. Ich benutze das Beispiel in this Seite, aber ich bekomme keine Ausgabe.Shiny und Twitter Beispiel

Der Code, den ich verwende ist wie folgt (die ich von der Seite korrigiert habe, da es einige Fehler mit Klammern, invertiert comas usw. hatte):

ui.r

library(shiny) 
shinyUI(pageWithSidebar(
    # Application title 
    headerPanel('Tweets hunter'), 
    sidebarPanel(textInput('term', 'Enter a term', ''), 
       numericInput('cant', 'Select a number of tweets',1,0,200), 
       radioButtons('lang','Select the language',c(
        'English'='en', 
        'Castellano'='es', 
        'Deutsch'='de')), 
       submitButton(text='Run')), 
    mainPanel(
    h4('Last 5 Tweets'), 
    tableOutput('table'), 
    plotOutput('wordcl')) 
)) 

server.r

library(shiny) 
library(twitteR) 
library(wordcloud) 
library(tm) 
shinyServer(function (input, output) { 
    rawData <- reactive(function(){ 
    tweets <- searchTwitter(input$term, n=input$cant,lang=input$lang) 
    twListToDF(tweets) 
    }) 
    output$table <- reactiveTable(function() { 
    head(rawData()[1],n=5) 
    }) 
    output$wordcl<- reactivePlot(function(){ 
    tw.text<-enc2native(rawData()$text, 
         tw.text <- tolower(tw.text), 
         tw.text <- removeWords(tw.text,c(stopwords(input$lang),'rt')), 
         tw.text <- removePunctuation(tw.text,TRUE), 
         tw.text <-unlist(strsplit(tw.text,' ')), 
         word<- sort(table(tw.text),TRUE), 
         wordc<-head(word,n=15), 
         wordcloud(names(wordc),wordc,random.color=TRUE,colors=rainbow(10),scale=c(15,2)) 
    ) 
    }) 
}) 

ich den Code der server.r Datei bearbeitet haben, da einige der Befehle sind veraltet wie folgt:

library(shiny) 
library(twitteR) 
library(wordcloud) 
library(tm) 
shinyServer(function (input, output) { 
    rawData <- reactive(function(){ 
    tweets <- searchTwitter(input$term, n=input$cant,lang=input$lang) 
    twListToDF(tweets) 
    }) 
    #output$table <- reactiveTable(function() { 
    # head(rawData()[1],n=5) 
    #}) 
    output$filetable <- renderTable( 
    { if (is.null(input$files)) { # User has not uploaded a file yet 
     return(NULL) } 
     head(rawData()[1],n=5) }) 

    #http://shiny.rstudio.com/reference/shiny/latest/renderPlot.html 
    # output$wordcl<- reactivePlot(function(){ 
    # tw.text<-enc2native(rawData()$text, 
    #      tw.text <- tolower(tw.text), 
    #      tw.text <- removeWords(tw.text,c(stopwords(input$lang),'rt')), 
    #      tw.text <- removePunctuation(tw.text,TRUE), 
    #      tw.text <-unlist(strsplit(tw.text,' ')), 
    #      word<- sort(table(tw.text),TRUE), 
    #      wordc<-head(word,n=15), 
    #      wordcloud(names(wordc),wordc,random.color=TRUE,colors=rainbow(10),scale=c(15,2)) 
    # ) 
    #}) 

    output$wordcl<- renderPlot(
     function(){ 
     tw.text<-enc2native(rawData()$text) 
          tw.text <- tolower(tw.text) 
          tw.text <- removeWords(tw.text,c(stopwords(input$lang),'rt')) 
          tw.text <- removePunctuation(tw.text,TRUE) 
          tw.text <-unlist(strsplit(tw.text,' ')) 
          word<- sort(table(tw.text),TRUE) 
          wordc<-head(word,n=15) 
          wordcloud(names(wordc),wordc,random.color=TRUE,colors=rainbow(10),scale=c(15,2)) 
     } 
          ,width = "auto", height = "auto", res = 72, 
       env = parent.frame(), quoted = FALSE, execOnResize = FALSE, 
       outputArgs = list()) 

}) 

Aber ich bin immer keine Ausgabe

Alle Ideen, was ich verursacht bin fehlt?

Danke

+2

Haben Sie versucht, die Fehlerquelle zu verfolgen ?, d. H. Die reaktiven Werte zu überprüfen und sie zu drucken, oder an bestimmten Stellen drucken ("hier")? Wie haben Sie mit Ihrer Untersuchung begonnen? – OmaymaS

+0

Ich habe einige veraltete Befehle korrigiert (Ich werde bearbeiten, um den Code anzuzeigen), aber jetzt bekomme ich einen weiteren Fehler – Selrac

Antwort

2

Ich schaffte es zu arbeiten. Hier ist der Code. Ich hoffe, es kann jemandem helfen

library(shiny) 
library(twitteR) 
library(wordcloud) 
library(tm) 
shinyServer(function (input, output) { 
    rawData <- reactive(
    { tweets <- searchTwitter(input$term, n=input$cant,lang=input$lang) 
    return(twListToDF(tweets)) 
    }) 

    output$tablel <- renderTable({ 
     head(rawData()[1],n=5) 
    }) 

    output$wordcl<- renderPlot(
     { 
     tw.text <- rawData()$text 
     tw.text <- enc2native(rawData()$text) 
     tw.text <- tolower(tw.text) 
     tw.text <- removeWords(tw.text,c(stopwords('en'),'rt')) 
     tw.text <- removePunctuation(tw.text,TRUE) 
     tw.text <- unlist(strsplit(tw.text,' ')) 
     word <- sort(table(tw.text),TRUE) 
     wordc <- head(word,n=15) 
     wordcloud(names(wordc),wordc,random.color=TRUE,colors=rainbow(10),scale=c(5,2),min.freq=1) 
     } 
) 
})