R中用颜色表示权重大小和关系方向的词云

问题描述 投票:0回答:0

我已经完成了 PCA,我想创建一个词云来表示 PCA 组件的不同维度的权重和关系方向(正或负)。 我在 R 中有这段代码

pca_loadings$colorRC1 <- ifelse(pca_loadings[,1] >= 0, 'red', 'blue')
pca_loadings$absRC1 <- abs(pca_loadings[,1]) 
wordcloud::wordcloud(words = pca_loadings$V5, 
                     freq = pca_loadings$absRC1, scale = c(3,1), 
                     min.freq = 0.3, 
                     max.words = 20, 
                     ordered.colors = T, 
                     colors = pca_loadings$colorRC1, 
                     rot.per = 0)

这确实有效。

pca_loadings$V%
是存储每个维度名称的位置,
absRC1
是组件 1 的每个维度权重的绝对值。我希望截止值为 0.3,因此任何较小的内容都不会包含在词云中。

为了使颜色根据正数或负数而变化,我创建了一个名为

colorRC1
的变量,它基本上查看每个维度的权重,如果数字 >0,则在该行中写为红色,如果 <0 it writes blue.

到目前为止一切顺利。但是,由于最小阈值是 0.3,每当 wordcloud 函数到达绝对值小于 0.3 的行时,它会忽略它,但不会跳过颜色行,因此

absRC1
列和颜色列不匹配。基本上在输出中,大小很好,但是因为只要值小于 0.3,它就不会跳过颜色列中的一行,因此数字的方向(正或负)与打印的颜色不匹配。

有谁知道如何解决这个问题吗?

r pca word-cloud
© www.soinside.com 2019 - 2024. All rights reserved.