I am using twitter API to generate sentiments. I am trying to generate a word-cloud based on tweets.
Here is my code to generate a wordcloud
wordcloud(clean.tweets, random.order=F,max.words=80, col=rainbow(50), scale=c(3.5,1))
Result for this:
I also tried this:
pal <- brewer.pal(8,"Dark2")
wordcloud(clean.tweets,min.freq = 125,max.words = Inf,random.order = TRUE,colors = pal)
Result for this:
Am I missing something?
This is how I am getting and cleaning tweets:
#downloading tweets
tweets <- searchTwitter("#hanshtag",n = 5000, lang = "en",resultType = "recent")
# removing re tweets
no_retweets <- strip_retweets(tweets , strip_manual = TRUE)
#converts to data frame
df <- do.call("rbind", lapply(no_retweets , as.data.frame))
#remove odd characters
df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII", sub="")) #remove emoticon
df$text = gsub("(f|ht)tp(s?)://(.*)[.][a-z]+", "", df$text) #remove URL
sample <- df$text
# Cleaning Tweets
sum_txt1 <- gsub("(RT|via)((?:\\b\\w*@\\w+)+)","",sample)
sum_txt2 <- gsub("http[^[:blank:]]+","",sum_txt1)
sum_tx3 <- gsub("@\\w+","",sum_txt2)
sum_tx4 <- gsub("[[:punct:]]"," ", sum_tx3)
sum_tex5 <- gsub("[^[:alnum:]]", " ", sum_tx4)
sum_tx6 <- gsub("RT ","", sum_tex5)
# WordCloud
# data frame is not good for text convert it corpus
corpus <- Corpus(VectorSource(sum_tx6))
clean.tweets<- tm_map(corpus , content_transformer(tolower)) #converting everything to lower cases
clean.tweets<- tm_map(guj_clean,removeWords, stopwords("english")) #stopword are words like of, the, a, as..
clean.tweets<- tm_map(guj_clean, removeNumbers)
clean.tweets<- tm_map(guj_clean, stripWhitespace)
Thanks in advance!
Try changing the scale on your wordcloud from c(3.5,1) to c(3.5,0.25).
wordcloud(clean.tweets, random.order=F,max.words=80, col=rainbow(50), scale=c(3.5,0.25))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With