在词云中缩放

时间:2017-08-25 13:31:53

标签: r

我有这个数据框

df <- structure(list(word = structure(c(1L, 12L, 23L, 34L, 43L, 44L, 
45L, 46L, 47L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 13L, 
14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 24L, 25L, 26L, 27L, 
28L, 29L, 30L, 31L, 32L, 33L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 
42L), .Label = c("word1", "word10", "word11", "word12", "word13", 
"word14", "word15", "word16", "word17", "word18", "word19", "word2", 
"word20", "word21", "word22", "word23", "word24", "word25", "word26", 
"word27", "word28", "word29", "word3", "word30", "word31", "word32", 
"word33", "word34", "word35", "word36", "word37", "word38", "word39", 
"word4", "word40", "word41", "word42", "word43", "word44", "word45", 
"word46", "word47", "word5", "word6", "word7", "word8", "word9"
), class = "factor"), frq = c(1975L, 1665L, 1655L, 1469L, 1464L, 
1451L, 1353L, 1309L, 1590L, 1545L, 1557L, 1556L, 1130L, 1153L, 
1151L, 1150L, 1144L, 1141L, 1115L, 194L, 195L, 135L, 135L, 130L, 
163L, 167L, 164L, 159L, 153L, 145L, 143L, 133L, 133L, 153L, 153L, 
150L, 119L, 115L, 115L, 115L, 114L, 113L, 113L, 113L, 115L, 102L, 
101L)), .Names = c("word", "frq"), class = "data.frame", row.names = c(NA, 
-47L))

我想根据频率创建一个词云。

为了制作这个词云我使用这行代码:

library(wordcloud2)
wordcloud2(df, color = "random-light", backgroundColor = "green")

然而,我面临的一个问题是云这个词没有所有的词。当我提到所有单词时,我的意思是这些单词的频率最低。

为了查看所有单词,是否有任何比例可以使单词云中的所有单词和最常用的单词更小?

据我所知,这是因为最高频率与列表中的其他频率有很大差异

1 个答案:

答案 0 :(得分:1)

您应该直接重新调整频率。例如,您可以这样做:

p_scaled = p^(1/n) n足够大,以便即使是频率最低的单词也会出现在单词云上。