我正在尝试从短语列表中创建一个词云,其中许多是重复的,而不是单个单词。我的数据看起来像这样,我的数据框的一列是短语列表。
df$names <- c("John", "John", "Joseph A", "Mary A", "Mary A", "Paul H C", "Paul H C")
我想制作一个词云,其中所有这些名称都被视为显示频率的单个短语,而不是组成它们的单词。我一直在使用的代码如下所示:
df.corpus <- Corpus(DataframeSource(data.frame(df$names)))
df.corpus <- tm_map(client.corpus, function(x) removeWords(x, stopwords("english")))
#turning that corpus into a tDM
tdm <- TermDocumentMatrix(df.corpus)
m <- as.matrix(tdm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
pal <- brewer.pal(9, "BuGn")
pal <- pal[-(1:2)]
#making a worcloud
png("wordcloud.png", width=1280,height=800)
wordcloud(d$word,d$freq, scale=c(8,.3),min.freq=2,max.words=100, random.order=T, rot.per=.15, colors="black", vfont=c("sans serif","plain"))
dev.off()
这会创建一个词云,但它是每个组成词的,而不是短语的。所以,我看到了“A”的相对频率。“H”、“John”等,而不是“Joseph A”、“Mary A”等的相对频率,这正是我想要的。
我敢肯定这不是那么复杂的修复,但我无法弄清楚!我将不胜感激任何帮助。