R 具有绝对字长的字云

R 具有绝对字长的字云,r,word-cloud,R,Word Cloud,我正在尝试制作几个wordclouds来比较术语,这些术语本身嵌套在组中。我想每组制作一个wordcloud。R中的wordcloud包可以制作我需要的wordclouds,但是每个新的wordcloud都有相对最大和最小词频缩放的单词大小。这可以通过比例参数进行设置 我的目标是制作单词云,使单词的大小与单词的频率绝对相关,从而可以直观地比较不同的单词云 library(wordcloud) dat <- data.frame(word = rep(LETTERS[1:3], 2), fr

我正在尝试制作几个wordclouds来比较术语,这些术语本身嵌套在组中。我想每组制作一个wordcloud。R中的
wordcloud
包可以制作我需要的wordclouds,但是每个新的wordcloud都有相对最大和最小词频缩放的单词大小。这可以通过
比例
参数进行设置

我的目标是制作单词云,使单词的大小与单词的频率绝对相关,从而可以直观地比较不同的单词云

library(wordcloud)
dat <- data.frame(word = rep(LETTERS[1:3], 2), freq =  c(10, 5, 3, 20, 10, 6), group = c(1, 1, 1, 2, 2, 2))

dat
#  word freq group
#1    A   10     1
#2    B    5     1
#3    C    3     1
#4    A   20     2
#5    B   10     2
#6    C    6     2

wordcloud(dat$word[dat$group == 1], dat$freq[dat$group == 1]) 
wordcloud(dat$word[dat$group == 2], dat$freq[dat$group == 2]) # Currently the same
库(wordcloud)

datHm,这可能是一种迂回的方式。但是,如果我们使用一个锚来设置所有数据的比例会怎么样呢

anchor <- max(dat$freq)
wordcloud(dat$word[dat$group == 1], dat$freq[dat$group == 1], scale = c(8*max(dat$freq[dat$group == 1])/anchor, 0.5))
wordcloud(dat$word[dat$group == 2], dat$freq[dat$group == 2], scale = c(8*max(dat$freq[dat$group == 2])/anchor, 0.5))

anchor我不确定wordcloud中是否有这样做的方法。我很想看看是否有人能找到!您可以尝试在ggplot中创建wordclouds:谢谢,这是一个很好的解决方案,即使它不能使两个wordclouds完全成比例,也足以进行比较。我认为,使用
wordcloud
,除此之外的任何东西都是不可能的,但我很难找到开发良好、技术能力强的软件包来制作wordclouds和类似的设计。如果有人有建议,那就太好了。