Tôi đang cố gắng tạo một đám mây từ trong danh sách cụm từ, nhiều cụm từ được lặp lại thay vì từ riêng lẻ. Dữ liệu của tôi trông giống như thế này, với một cột trong khung dữ liệu của tôi là danh sách các cụm từ.Tạo cụm từ "đám mây", không phải các từ riêng lẻ trong R
df$names <- c("John", "John", "Joseph A", "Mary A", "Mary A", "Paul H C", "Paul H C")
Tôi muốn tạo một đám mây từ trong đó tất cả các tên này được coi là cụm từ riêng lẻ có tần suất hiển thị chứ không phải các từ tạo nên chúng. Mã tôi đã sử dụng trông giống như:
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()
Điều này tạo ra một đám mây từ, nhưng nó là từ của từng thành phần, không phải của cụm từ. Vì vậy, tôi thấy tần số tương đối của "A". "H", "John" vv thay vì tần số tương đối của "Joseph A", "Mary A", vv, đó là những gì tôi muốn.
Tôi chắc rằng điều này không phức tạp để khắc phục, nhưng tôi không thể hiểu được! Tôi sẽ đánh giá cao sự giúp đỡ nào.
Cảm ơn bạn, điều này đã giải quyết được hoàn toàn vấn đề của tôi và rất rõ ràng! – verybadatthis
tốt - xem ra đối số 'min.freq' của' wordcloud' có thể dẫn đến kết quả mong đợi. – keegan