個々の単語ではなく、多くが繰り返されるフレーズのリストからワード クラウドを作成しようとしています。私のデータは次のようになります。データ フレームの 1 つの列はフレーズのリストです。
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」の相対頻度がわかります。「Joseph A」、「Mary A」などの相対頻度の代わりに、「H」、「John」など、私が望むものです。
これを修正するのはそれほど複雑ではないと確信していますが、理解できません! 助けていただければ幸いです。
