wbob's avatar
wbob
Advocate I
9 years ago
Solved

Wordcloud with r

Although there is a custom visualisation for Wordcloud now, I did this one with r in Power BI Desktop as you get a greater degree of control over it:     library(tm) library(wordcloud) words <...
  • Greg_Deckler's avatar
    8 years ago

    When I tried the original code, it worked with older versions of R, 3.2.3 but not newer versions of R, 3.3.1 and 3.4.2. The Corpus construction was returning only numbers which were then stripped out by the rest of the code causing problems. So, I hacked together a variation of the original code based upon comments and have a working version here:

     

    require(tm)
    require(wordcloud)
    require(RColorBrewer)
    
    datain = as.data.frame(table(as.character(dataset[,1])))
    words <- Corpus(VectorSource(dataset$text))
    
    words <- tm_map(words, stripWhitespace)
    words <- tm_map(words, content_transformer(tolower))
    words <- tm_map(words, removeNumbers)
    words <- tm_map(words, removePunctuation)
    words <- tm_map(words, removeWords, stopwords("english"))
    words <- tm_map(words, stemDocument)
    
    wordcloud(words, scale=c(5,0.75), max.words=50, random.order=FALSE, rot.per=0.35, use.r.layout=FALSE, colors=brewer.pal(8, "Dark2"))

    The main change is the construction of the Corpus, VectorSource(dataset) becomes VectorSource(dataset$text)

     

    This is based upon the original PBIX file included in the original post.