
Produces word clouds with optional theme coloring by grouping variable.
trans_cloud(
text.var = NULL,
grouping.var = NULL,
word.list = NULL,
stem = FALSE,
target.words = NULL,
expand.target = TRUE,
target.exclude = NULL,
stopwords = NULL,
min.freq = 1,
caps = TRUE,
caps.list = NULL,
random.order = FALSE,
rot.per = 0,
cloud.colors = NULL,
title = TRUE,
cloud.font = NULL,
title.font = NULL,
title.color = "black",
title.padj = -4.5,
title.location = 3,
title.cex = NULL,
title.names = NULL,
proportional = FALSE,
max.word.size = NULL,
min.word.size = 0.5,
legend = NULL,
legend.cex = 0.8,
legend.location = c(-0.03, 1.03),
char.keep = "~~",
char2space = "~~"
)
Returns a series of word cloud plots with target words (themes) colored.
The text variable.
The grouping variables. Default NULL
generates
one word list for all text. Also takes a single grouping variable or a list
of 1 or more grouping variables.
A frequency word list passed from
word_list
.
logical. If TRUE
the text.var
will be stemmed.
A named list of vectors of words whose length corresponds
to cloud.colors
(+1 length in cloud colors for non-matched terms).
logical. If TRUE
agrep
will be used to expand the target.words
.
A vector of words to exclude from the
target.words
.
Words to exclude from the cloud.
An integer value indicating the minimum frequency a word must appear to be included.
logical. If TRUE
selected words will be capitalized.
A vector of words to capitalize (caps
must be
TRUE
).
Plot words in random order. If false, they will be plotted in decreasing frequency.
Proportion words with 90 degree rotation.
A vector of colors equal to the length of target words +1.
logical. If TRUE
adds a title corresponding to the
grouping.var
.
The font family of the cloud text.
The font family of the cloud title.
A character vector of length one corresponding to the color of the title.
Adjustment for the title. For strings parallel to the axes, padj = 0 means right or top alignment, and padj = 1 means left or bottom alignment.
On which side of the plot (1=bottom, 2=left, 3=top, 4=right).
Character expansion factor for the title. NULL
and
NA
are equivalent to 1.0.
Optional vector of title names equal in length to the grouping.var that will override the default use of the grouping.var names.
logical. If TRUE
scales the word clouds across
grouping.var to allow cloud to cloud comparisons.
A size argument to control the minimum size of the words.
A size argument to control the maximum size of the words.
A character vector of names corresponding to the number of vectors in target.words.
Character expansion factor for the legend. NULL
and
NA
are equivalent to 1.0.
The x and y co-ordinates to be used to position the legend.
A character vector of symbol character (i.e., punctuation) that strip should keep. The default is to strip everything except apostrophes. This enables the use of special characters to be turned into spaces or for characters to be retained.
A vector of characters to be turned into spaces. If
char.keep
is NULL
, char2space
will activate this
argument.
wordcloud
,
gradient_cloud
if (FALSE) {
terms <- list(
I=c("i", "i'm"),
mal=qcv(stinks, dumb, distrust),
articles=qcv(the, a, an),
pronoun=qcv(we, you)
)
with(DATA, trans_cloud(state, person, target.words=terms,
cloud.colors=qcv(red, green, blue, black, gray65),
expand.target=FALSE, proportional=TRUE, legend=c(names(terms),
"other")))
with(DATA, trans_cloud(state, person, target.words=terms,
stopwords=exclude(with(DATA, unique(bag_o_words(state))),
unique(unlist(terms))),
cloud.colors=qcv(red, green, blue, black, gray65),
expand.target=FALSE, proportional=TRUE, legend=names(terms)))
#color the negated phrases opposite:
DATA <- qdap::DATA
DATA[1, 4] <- "This is not good!"
DATA[8, 4] <- "I don't distrust you."
DATA$state <- space_fill(DATA$state, paste0(negation.words, " "),
rm.extra = FALSE)
txt <- gsub("~~", " ", breaker(DATA$state))
rev.neg <- sapply(negation.words, paste, negative.words)
rev.pos <- sapply(negation.words, paste, positive.words)
tw <- list(
positive=c(positive.words, rev.neg[rev.neg %in% txt]),
negative=c(negative.words, rev.pos[rev.pos %in% txt])
)
with(DATA, trans_cloud(state, person,
target.words=tw,
cloud.colors=qcv(darkgreen, red, gray65),
expand.target=FALSE, proportional=TRUE, legend=names(tw)))
DATA <- qdap::DATA ## Reset DATA
}
Run the code above in your browser using DataLab