有没有办法将字云返回为字符串或字符数据类型?

时间:2018-09-25 13:46:17

标签: r excel dataframe word-cloud

我正在使用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 
}

1 个答案:

答案 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结构很好,则可以跳过matrixdata.frame步骤。