来自值列表的 R 中的 Wordcloud(不是来自文本文档)

Wordcloud in R from list of values (not from text documents)

我根据这样一个标准对我的文本中的标记进行了排序,它们都有一个值。我的列表如下所示:

value,token
3,tok1
2.84123,tok2
1.5,tok3
1.5,tok4
1.01,tok5
0.9,tok6
0.9,tok7
0.9,tok8
0.81,tok9
0.73,tok10
0.72,tok11
0.65,tok12
0.65,tok13
0.6451231,tok14
0.6,tok15
0.5,tok16
0.4,tok17
0.3001,tok18
0.3,tok19
0.2,tok20
0.2,tok21
0.1,tok22
0.05,tok23
0.04123,tok24
0.03,tok25
0.02,tok26
0.01,tok27
0.01,tok28
0.01,tok29
0.007,tok30

然后我尝试使用以下代码生成 wordcloud:

library(tm)
library(wordcloud)

tokList = read.table("tokens.txt", header = TRUE, sep = ',') 

# Create corpus
corp <- Corpus(DataframeSource(tokList))
corpPTD <- tm_map(corp, PlainTextDocument)

wordcloud(corpPTD, max.words = 50, random.order=FALSE)

产生:

但这不是我想要的。我想要一个词云,我可以在其中可视化标记(所以 "tok1"、"tok2"、.. .) 根据 table 中的值。因此,如果第一个标记有 3,那么我希望该单词比列表中的下一个元素大三倍。

有人可以帮忙吗?

简单来说这也可以(假设你的最小值不为零,如果为零则过滤掉相应的标记):

library(RColorBrewer)
wordcloud(tokList$token, tokList$value/min(tokList$value), max.words = 50, min.freq = 1, 
                    random.order=FALSE, colors=brewer.pal(6,"Dark2"), random.color=TRUE)