繁体   English   中英

将带有textInput值的searchTwitter的值传递给get_nrc_sentiment

[英]passing value from searchTwitter with textInput value to get_nrc_sentiment

我打算做一个在线Twitter情绪分析器,用户可以使用flexdashboard自己输入搜索词。 这是代码。

#Getting search term
textInput("data", label = "Enter search term", value = "", width = NULL, placeholder = NULL)
sliderInput("maxTweets", "Number of recent tweets to use for analysis:", min = 10, max = 1000, value = 500)
actionButton("enter", label = "Enter")

twt <- reactive({
  if(input$enter!=0){
      isolate({
        twt <- searchTwitter(input$data, n=input$maxTweets, lang = "en", resultType = "recent")
      })
    }
  })

#print tweets searched
twt

这是问题所在。 当我运行下面的代码时,发生错误“ get_nrc_sentiment中的错误:数据必须是字符向量。”。 我之前尝试过map_chr和as.character,但没有可供选择的列。

#Get sentiment 
s <- reactive({
  s<- get_nrc_sentiment(twt())
  })

#Print output
s 

正如我的评论中所提到的,我强烈建议转到rtweet ,如twitteR Github页面上所述:

这是twitteR相对悠闲的弃用期的开始,转而使用rtweet。 请开始寻找切换到该软件包的方法。 如果您有任何疑问,请联系我自己或@mkearney

该存储库的最后一次提交是2年前。

如果仍然要使用twitteR

twt <- searchTwitter(input$data, n=100, lang = "en", resultType = "recent")
twt <- twiListToDF(twt) # turn data.frame into a list
twt$text <- as.character(twt$text) # ensure it's a character vector

class(twt)
class(twt$text)

syuzhet::get_nrc_sentiment(txt$text)

您必须确保它是1)矢量2)字符类型

syuzhet::get_nrc_sentiment(as.factor(c("Hello", "World")))
#> Error in syuzhet::get_nrc_sentiment(as.factor(c("Hello", "World"))) : 
  Data must be a character vector.
syuzhet::get_nrc_sentiment(list("Hello", "World"))
#> Error in syuzhet::get_nrc_sentiment(list("Hello", "World")) : 
  Data must be a character vector.

这是我的答案。

```{r}
#Getting search term
textInput("data", label = "Enter search term", value = "")
actionButton("enter", label = "Enter")

twt <- reactive({
  if(input$enter!=0){
      isolate({
        return(search_tweets(input$data, n=100, lang = "en", include_rts = FALSE))
      })
    }
  })
```  

````{r}
#Get sentiment score of tweets
s <- reactive({
  return(get_nrc_sentiment(twt()$text))
  })
#Print sentiment score
renderTable(head(s()))
```

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM