R中的Twitter分析,错误:在部署应用程序时,零长度输入不能与非零长度输入混合
刚开始使用闪亮的应用程序。我在R中构建了我的代码,一切都执行得很完美,当我运行应用程序时,它也运行得很好,但是当我部署应用程序时,我得到了零长度输入的错误和无效的时间参数,这些错误导致我的绘图图表充满了我认为正在执行的错误: 从日志中:R中的Twitter分析,错误:在部署应用程序时,零长度输入不能与非零长度输入混合,r,twitter,shiny,tm,R,Twitter,Shiny,Tm,刚开始使用闪亮的应用程序。我在R中构建了我的代码,一切都执行得很完美,当我运行应用程序时,它也运行得很好,但是当我部署应用程序时,我得到了零长度输入的错误和无效的时间参数,这些错误导致我的绘图图表充满了我认为正在执行的错误: 从日志中: 2016-06-30T20:41:17.225966+00:00 shinyapps[111287]: Listening on http://0.0.0.0:53352 2016-06-30T20:41:19.584567+00:00 shinyapps[1
2016-06-30T20:41:17.225966+00:00 shinyapps[111287]: Listening on http://0.0.0.0:53352
2016-06-30T20:41:19.584567+00:00 shinyapps[111287]: [1] "Using direct authentication"
2016-06-30T20:43:40.040666+00:00 shinyapps[111287]: Warning: Error in mapply: zero-length inputs cannot be mixed with those of non-zero length
2016-06-30T20:43:40.050669+00:00 shinyapps[111287]: 12: fn
2016-06-30T20:43:40.050676+00:00 shinyapps[111287]: 7: connect$retry
2016-06-30T20:43:40.050646+00:00 shinyapps[111287]: Stack trace (innermost first):
2016-06-30T20:43:40.050671+00:00 shinyapps[111287]: 11: doTryCatch
2016-06-30T20:43:40.050650+00:00 shinyapps[111287]: 85: mapply
2016-06-30T20:43:40.050672+00:00 shinyapps[111287]: 10: tryCatchOne
2016-06-30T20:43:40.050677+00:00 shinyapps[111287]: 6: eval
2016-06-30T20:43:40.050651+00:00 shinyapps[111287]: 84: Map
2016-06-30T20:43:40.050678+00:00 shinyapps[111287]: 5: eval
2016-06-30T20:43:40.050653+00:00 shinyapps[111287]: 83: colorize
2016-06-30T20:43:40.050680+00:00 shinyapps[111287]: 4: eval
2016-06-30T20:43:40.050654+00:00 shinyapps[111287]: 82: plotly_build
2016-06-30T20:43:40.050682+00:00 shinyapps[111287]: 2: eval.parent
2016-06-30T20:43:40.050655+00:00 shinyapps[111287]: 81: as.widget
2016-06-30T20:43:40.050681+00:00 shinyapps[111287]: 3: eval
2016-06-30T20:43:40.050657+00:00 shinyapps[111287]: 80: func
2016-06-30T20:43:40.050673+00:00 shinyapps[111287]: 9: tryCatchList
2016-06-30T20:43:40.050659+00:00 shinyapps[111287]: 79: output$ta2
2016-06-30T20:43:40.050674+00:00 shinyapps[111287]: 8: tryCatch
2016-06-30T20:43:40.050684+00:00 shinyapps[111287]: 1: local
2016-06-30T20:43:40.050668+00:00 shinyapps[111287]: 13: runApp
同样,当我在R中运行它时,以及当我运行闪亮应用程序时,以下功能也可以正常工作:
对于UI,我有以下代码:
用户界面
我认为这可能与tm软件包有关,但我在我的应用程序闪亮日志中没有看到与tm相关的功能的任何警告或错误。想法?对qdap函数的librar调用中有一个引号,它可能会引起某种恶作剧,修复了library调用。我在脚本中的语法是正确的,所以这是我的复制粘贴问题。
ui <- fluidPage(
#title header
headerPanel("Main Title"),
sidebarPanel(
selectInput(inputId="stock", label = ("Search Stock"),
choices = c("Select","MSFT","JPM","KO"),
selected = NULL),#end select input
submitButton(text="Run")
),#end sidebar panel
mainPanel(
tabsetPanel(id="tabs1",
tabPanel("Tweet Collection",DT::dataTableOutput('tc')),
tabPanel("Twitter Analysis",
fluidRow(
column(12,align="center",plotlyOutput("ta1")),
column(12,align="center",plotlyOutput("ta2"))
))
)#end tabset panel
)#end main panel
)#end fluid page
server <- function(input,output){
m1 = list(
l = 50,
r = 50,
b = 30,
t = 50,
pad = 2
)
m2 = list(
l = 50,
r = 50,
b = 60,
t = 50,
pad = 2
)
newdata <- reactive({
if("MSFT" %in% input$stock){
msft <- c("#MSFT OR Microsoft OR @Microsoft")
tweetdata <- searchTwitter(msft,lang="en",n=1500)
tweetdata.df <- twListToDF(tweetdata)
test <- tweetdata.df[,1]
myvars <- c("text")
test <- tweetdata.df[myvars]
newdata <- test[(!duplicated(test)),]
newdata <- as.data.frame(newdata)
newdata <- as.data.frame(filter(newdata, !grepl('Bid Now!', newdata$newdata)))
newdata
} else if("JPM" %in% input$stock){
vector <- c("#JPM OR JPMorgan OR @jpmorgan OR J.P. Morgan")
tweetdata <- searchTwitter(vector,lang="en",n=1500)
tweetdata.df <- twListToDF(tweetdata)
test <- tweetdata.df[,1]
myvars <- c("text")
test <- tweetdata.df[myvars]
newdata <- test[(!duplicated(test)),]
newdata <- as.data.frame(newdata)
newdata <- as.data.frame(filter(newdata, !grepl('Bid Now!', newdata$newdata)))
newdata
} else if("KO" %in% input$stock){
ko <- c("#KO OR Coca-Cola OR @CocaCola OR @CocaColaCo OR Coca Cola")
tweetdata <- searchTwitter(ko,lang="en",n=1500)
tweetdata.df <- twListToDF(tweetdata)
test <- tweetdata.df[,1]
myvars <- c("text")
test <- tweetdata.df[myvars]
newdata <- test[(!duplicated(test)),]
newdata <- as.data.frame(newdata)
newdata <- as.data.frame(filter(newdata, !grepl('Bid Now!', newdata$newdata)))
newdata
}
})
####SOME AUTHENTICATION SET UP FOR TWITTER HERE####
#text analysis tab
output$ta1 <- renderPlotly({
if("Select" %in% input$stock){
plot_ly(x=c(1,2,3,4,5), y=c(1,2,3,4,5))%>%
layout(title="No Data Selected", margin=m1)
} else if (!("Select" %in% input$stock)){
# analyze the association between frequent terms (i.e., terms which correlate)
myCorpus <- Corpus(VectorSource(newdata()[,1]))
toSpace <- content_transformer(function (x , pattern ) gsub(pattern, " ", x))
myCorpus <- tm_map(myCorpus, toSpace, "/")
myCorpus <- tm_map(myCorpus, toSpace, "@")
myCorpus <- tm_map(myCorpus, toSpace, "\\|")
myCorpus <- tm_map(myCorpus, stripWhitespace)
myCorpus <- tm_map(myCorpus, tolower)
myCorpus <- tm_map(myCorpus, removeWords,c(stopwords(kind = "en"),"https","tco","coca","cola","jpm","microsoft","jpmorgan","morgan"))
myCorpus <- tm_map(myCorpus, removePunctuation)
myCorpus <- tm_map(myCorpus, removeNumbers)
myCorpus <- tm_map(myCorpus, stemDocument, "english")
myCorpus <- tm_map(myCorpus, PlainTextDocument)
dtm <- TermDocumentMatrix(myCorpus)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),newfreq=v)
plot_ly(x=d[1:10,1], y=d[1:10,2], color=as.ordered(d[1:10,2]), showlegend=F,type='bar') %>%
layout(title="Most Frequent Words Found in Collected Tweets",margin=m2,xaxis=list(title=" "),yaxis=list(title="Frequency"))
}
})#end ta1 output
myCorpus <- tm_map(myCorpus, tolower, lazy=true) ...etc
myCorpus <- tm_map(myCorpus, content_transformer(tolower)) ...etc
tm_map(r_stats_text_corpus,
content_transformer(function(x) iconv(x, to='UTF-8', sub='byte')),
mc.cores=1
) ...used this right underneath my corpus call
library(bitops)
library(data.table)
library(dplyr)
library(ggplot2)
library(maptpx)
library(plotly)
library(plyr)
library(qdap)
library(RColorBrewer)
library(RCurl)
library(rjson)
library(ROAuth)
library(RWeka)
library(streamR)
library(textir)
library(tm)
library(twitteR)
library(varhandle)
library(wordnet)
library(shiny)
library(devtools)
library(rsconnect)
library(SnowballC)