Пробелы в облаке слов - PullRequest
4 голосов
/ 09 ноября 2011

В настоящее время я использую wordle для многих хитрых использований слова cloud. Я думаю, что облако слов R, потенциально, лучше контролирует.

1) Как вы держите слово с большой буквы в облаке слов? [Решено]

2) Как сохранить два слова как один кусок в облаке слов? (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))

1 Ответ

4 голосов
/ 09 ноября 2011

Вы задали два вопроса:

  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)

enter image description here

...