Ich versuche, eine Wortwolke aus einer Liste von Phrasen, von denen viele wiederholt werden, statt aus einzelnen Wörtern. Meine Daten sehen ungefähr so aus, wobei eine Spalte meines Datenrahmens eine Liste von Phrasen ist.Erstellen "Wort" Wolke von Phrasen, nicht einzelne Wörter in R
df$names <- c("John", "John", "Joseph A", "Mary A", "Mary A", "Paul H C", "Paul H C")
Ich möchte eine Wortwolke machen, wo alle diese Namen als einzelne Formulierungen behandelt werden, deren Frequenz angezeigt wird, nicht die Worte, die sie bilden. Der Code Ich habe mit sieht aus wie:
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()
Dies schafft eine Wortwolke, aber es ist jede Komponente Wort, nicht die Phrasen. Also, ich sehe die relative Häufigkeit von "A". "H", "John" usw. anstelle der relativen Häufigkeit von "Joseph A", "Mary A" usw., was ich will.
Ich bin sicher, das ist nicht so kompliziert zu beheben, aber ich kann es nicht herausfinden! Ich würde jede Hilfe schätzen.
Danke, das hat mein Problem total gelöst und war sehr klar! – verybadatthis
gut - achten Sie auf das 'min.freq'-Argument von' wordcloud', was zu einer erwarteten Ausgabe führen könnte. – keegan