skip to Main Content

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:

enter image description here

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:

enter image description here

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!

2

Answers


  1. 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))
    
    Login or Signup to reply.
  2. The cropping seems to happen when there are previous plots in the history. I ran into this issue as well and was able to fix mine by clicking the broom button to clear plot history (click the link to see the image), and then recreating the Wordcloud. view image here.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search