R/wordcloud.create.R

Defines functions wordcloud.create

Documented in wordcloud.create

#' @title rCreate Wordcloud
#' @description Blank Description.
#' @param d Text Data
#' @keywords package
#' @return NULL
#' @export
#' @examples wordcloud.create()
#' wordcloud.create(nk.corpus.ultimus)
#' wordcloud.create(nk.corpus.ultimus, HTML)

wordcloud.create <- function(c, HTML) {

# Word Cloud Libraries
	
nk.corpus.ultimus <- c

if(missing(HTML)) {

if('wordcloud' %in% rownames(installed.packages()) == TRUE) {
require(wordcloud)} else {
install.packages("wordcloud", repos = "http://cran.us.r-project.org")	
require(wordcloud)}
	
# Format Corpus for Most Frequent Words
nk.freq.tdm <- as.matrix(TermDocumentMatrix(nk.corpus.ultimus, control = list(wordLengths=c(1, Inf))))
nk.freq.mat <- data.frame(ST = rownames(nk.freq.tdm), Freq = rowSums(nk.freq.tdm), row.names = NULL)
nk.flux <- sort(rowSums(nk.freq.tdm), decreasing = TRUE)
nk.wordfreq <- data.frame(word = names(nk.flux), freq = nk.flux)

# Create Basic Word Cloud Plot
nk.wordcloud <- wordcloud(words = nk.wordfreq$word, freq = nk.wordfreq$freq, min.freq = 1,
          max.words = 200, random.order = FALSE, rot.per = 0.35, 
          colors=brewer.pal(8, "Dark2"))

return(nk.wordcloud)

} else {

if('wordcloud2' %in% rownames(installed.packages()) == TRUE) {
require(wordcloud2)} else {
install.packages("wordcloud2", repos = "http://cran.us.r-project.org")	
require(wordcloud2)}
	
# Format Corpus for Most Frequent Words
nk.freq.tdm <- as.matrix(TermDocumentMatrix(nk.corpus.ultimus, control = list(wordLengths=c(1, Inf))))
nk.freq.mat <- data.frame(ST = rownames(nk.freq.tdm), Freq = rowSums(nk.freq.tdm), row.names = NULL)
nk.flux <- sort(rowSums(nk.freq.tdm), decreasing = TRUE)
nk.wordfreq <- data.frame(word = names(nk.flux), freq = nk.flux)
	
# Create Interactive HTML Word Cloud Plot       
# Shows Word Frequency on Hover            
nk.wordcloud2 <- wordcloud2(nk.wordfreq, size = 1.0)	

return(nk.wordcloud2)

}

}
sabalicodev/sabali documentation built on Jan. 13, 2020, 2:22 p.m.