该应用程序旨在针对给定搜索词废弃Twitter的词频,然后根据频率创建词云。它在我在本地机器上运行时有效。以下是源代码:
library(shiny)
library(twitteR)
library(wordcloud)
library(tm)
twitter_key<-"XXX"
twitter_secret<-"XXX"
oauth<-setup_twitter_oauth(twitter_key, twitter_secret)
ui = shinyUI(fluidPage(
titlePanel("Twitter Wordcloud"),
textInput("text", label = h3("Search term:"), value = "president"),
actionButton("goButton", "Search"),
hr(),
mainPanel(
plotOutput("distPlot")
)
))
server = function(input, output) {
output$distPlot <- renderPlot({
input$goButton
isolate({
mach_tweets = searchTwitter(input$text, n=200, lang="en")
mach_text = sapply(mach_tweets, function(x) x$getText())
mach_text = sapply(mach_text,function(row) iconv(row, "latin1", "ASCII", sub=""))
mach_text = gsub(" https.*","",mach_text)
mach_corpus = Corpus(VectorSource(mach_text))
tdm = TermDocumentMatrix(mach_corpus,
control = list(removePunctuation = TRUE,
stopwords = c(input$text, stopwords("english")),
removeNumbers = TRUE, tolower = TRUE))
m = as.matrix(tdm)
word_freqs = sort(rowSums(m), decreasing=TRUE)
dm = data.frame(word=names(word_freqs), freq=word_freqs)
wordcloud(dm$word, dm$freq, random.order=FALSE, colors=brewer.pal(8, "Dark2"))
})
})
}
shinyApp(ui, server)
答案 0 :(得分:1)
我有同样的问题
在控制台中运行下一行代码,但首先要确保setup_twitter_oauth
创建的.httr-oauth文件与ui.R和server.R位于同一目录中。
rsconnect::deployApp(appDir = getwd(),appFiles = NULL)
它的作用是部署工作目录中的所有文件,包括此处的关键字.httr-oauth文件。