我正在使用library(wordcloud)
在r中使词云化。但是,我对实际单词作为字符串类型感兴趣,以后可以在excel单元格中使用。有什么办法可以使r中的wordcloud返回一个字符串,而不是使它成为wordcloud对象?
这是我的函数实现:
create_wordcloud <- function(text) {
corpus <- Corpus(VectorSource(text)
w_cloud <- wordcloud(corpus, min.freq = 1,
max.words=50, random.order=FALSE, rot.per=0.35,
colors=brewer.pal(8, "Dark2"))
return(corpus) #I need this to be a string
}
答案 0 :(得分:0)
您可以将语料库转换为data.frame
,并使用reshape2
的{{1}}函数对其进行重塑。
melt()
这将返回library(tm)
library(wordcloud)
library(reshape2)
create_wordcloud <- function(text) {
corpus <- Corpus(VectorSource(text)
wordcloud(corpus, min.freq = 1,
max.words=50, random.order=FALSE, rot.per=0.35,
colors=brewer.pal(8, "Dark2"))
word_matrix <- as.matrix(DocumentTermMatrix(corpus))
word_matrix_df <- as.data.frame(word_matrix)
word_matrix_df <- melt(word_matrix_df, variable.name = 'word', value.name = 'frequency')
return(word_matrix_df)
}
,并在其列中显示单词及其在文本中的出现频率。如果您使用data.frame
结构很好,则可以跳过matrix
和data.frame
步骤。