R 词云中的尺度

R 词云中的尺度,r,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,

我有这个数据框

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))
然而,我面临的一个问题是,云这个词并没有包含所有的词。当我提到所有单词时,我指的是频率最低的单词

有没有什么尺度可以让单词云中的所有单词都显示出来,而且最频繁的单词要小一点才能看到所有的单词


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

您应该直接重新调整频率。例如,您可以执行以下操作:


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

如果使用wordcloud,您可以使用一个简单的min.freq参数来设置
库(wordcloud);wordcloud(min.freq=…)
。当然,这是一个不同的库,与您正在使用的库相比。请您给出一个代码示例?例如,p值表示第二个频率列的值,n表示dataframe的总行数?我建议您遵循有关data.frame对象的教程。您需要规范化frq列,将每行除以其总和,然后应用转换。
library(wordcloud2)
wordcloud2(df, color = "random-light", backgroundColor = "green")