5

我目前将 wordle 用于词云的许多艺术用途。我认为 R 的词云可能具有更好的控制力。

1)如何在词云中保持单词大写?[解决了]

2) 如何在 wordcloud 中将两个单词保持为一个块?(wordle 使用 ~ 运算符来完成此操作,R 的词云仅按原样打印 ~)[例如,在“to”和“be”之间有一个 ~ 我想在词云中留一个空格]

require(wordcloud)

y<-c("the", "the", "the", "tree", "tree", "tree", "tree", "tree", 
"tree", "tree", "tree", "tree", "tree", "Wants", "Wants", "Wants", 
"Wants", "Wants", "Wants", "Wants", "Wants", "Wants", "Wants", 
"Wants", "Wants", "to~be", "to~be", "to~be", "to~be", "to~be", 
"to~be", "to~be", "to~be", "to~be", "to~be", "to~be", "to~be", 
"to~be", "to~be", "to~be", "to~be", "to~be", "to~be", "to~be", 
"to~be", "when", "when", "when", "when", "when", "familiar", "familiar", 
"familiar", "familiar", "familiar", "familiar", "familiar", "familiar", 
"familiar", "familiar", "familiar", "familiar", "familiar", "familiar", 
"familiar", "familiar", "familiar", "familiar", "familiar", "familiar", 
"leggings", "leggings", "leggings", "leggings", "leggings", "leggings", 
"leggings", "leggings", "leggings", "leggings")

wordcloud(names(table(y)), table(y))
4

1 回答 1

4

你问了两个问题:

  1. 您可以通过指定控制参数来控制大小写(或不控制)TermDocumentMatrix
  2. 毫无疑问,在某处有一个参数可以控制~,但这里有一个简单的解决方法:在绘图之前的步骤中使用gsub更改~为空白。

一些代码:

corpus <- Corpus(VectorSource(y))
tdm <- TermDocumentMatrix(corpus, control=list(tolower=FALSE)) ## Edit 1

m <- as.matrix(tdm)
v <- sort(rowSums(m), decreasing = TRUE)
d <- data.frame(word = names(v), freq = v)
d$word <- gsub("~", " ", d$word) ## Edit 2

wordcloud(d$word, d$freq)

在此处输入图像描述

于 2011-11-09T18:37:34.563 回答