我正在用varimax旋转进行主成分分析,并希望显示看起来足够简单的图,但是我的加载向量在某些地方非常接近,而且它们的标签往往是重叠的。这就是ggrepel为了分离阴唇而来的地方。我现在面临的难题是如何将两者联系起来。我使用了自动绘图,它自动添加所需的文本,这使得很难定义要排斥的文本。也许还有其他的方法去做这件事,我愿意接受建议。我有我的代码工作,但有重叠,我的一次尝试排斥下面的代码。
autoplot(prcomp(built.df9),
loadings = TRUE, loadings.colour = 'blue', loadings.label = TRUE,
loadings.label.size = 4, loading.label.color = 'red') +
ggtitle(label = "Principal Component Analysis and Varimax Rotation for Built
Environment Indicators") +
geom_text_repel(aes(label = rownames(prcomp(built.df9))))

autoplot(prcomp(built.df9),
loadings = TRUE, loadings.colour = 'blue', loadings.label = TRUE,
loadings.label.size = 4, loading.label.color = 'red') +
ggtitle(label = "Principal Component Analysis and Varimax Rotation for Built
Environment Indicators")发布于 2017-06-29 23:56:24
您可以从loadings.label.repel=T包中使用ggfortify。
此示例仅对mtcars数据集使用相同的代码。
没有排斥标签的:
library(ggplot2)
library(ggfortify)
autoplot(prcomp(mtcars),
loadings = TRUE, loadings.colour = 'blue', loadings.label = TRUE,
loadings.label.size = 4, loading.label.color = 'red') +
ggtitle(label = "Principal Component Analysis and Varimax Rotation for Built
Environment Indicators")

带有排斥标签的:
autoplot(prcomp(mtcars),
loadings = TRUE, loadings.colour = 'blue', loadings.label = TRUE,
loadings.label.size = 4, loading.label.color = 'red',loadings.label.repel=T) +
ggtitle(label = "Principal Component Analysis and Varimax Rotation for Built
Environment Indicators")

发布于 2017-06-24 02:36:43
您还没有提供任何数据来使此可重复使用,但是您可能对这个包ggbiplot有更多的运气。
library(ggbiplot)
data(mtcars)
standardised<-as.data.frame(scale(mtcars[2:ncol(mtcars)]))
mtcars.pca<-prcomp(standardised,retx=TRUE)
ggbiplot(mtcars.pca, obs.scale=1, var.scale=1, ellipse=F, circle=F,labels.size = 4)

https://stackoverflow.com/questions/44728546
复制相似问题