我最近在用R做主成分分析PCA,使用principal做了空间旋转之后能成功view看到pca结果,但是出图会出问题!
setwd("F:\A学习用的七七八八\大四上\毕设\pca_try")
df2<-read.csv("PCA(SPM).csv",header = T,row.names = 1)
head(df2)
library("FactoMineR")
res2<-PCA(df2[,],graph = FALSE)
library("ggplot2")
library("factoextra")
eig<-get_eigenvalue(res2)
View((eig))
#看到百分比
View(var$contrib)
View(var$cos2)
var$contrib
#主成分贡献图
fviz_eig(res2,addlabels = TRUE,ylim=c(0,30))
#出来碎石土
library(GPArotation)
df2.pc <- principal(df2, nfactors = 4, score = T, rotate ="varimax")
var<-get_pca_var(df2.pc)
View(var)
fviz_pca_var(df2.pc,col.var = "contrib",gradient.cols=c("#00AFBB", "#E7B800", "#FC4E07"),repel = TRUE,cex = 0.5)
#绘制成分系数图
library("corrplot")
col3<-COL2(diverging = c("RdBu"),n=10)
corrplot(var$coord[,1:3],is.corr = FALSE,tl.col = "black",tl.cex = 1,col = col3,cl.ratio = 0.3)
View(var$coord)
在这个语句做PCA最大方差旋转df2.pc <- principal(df2, nfactors = 4, score = T, rotate ="varimax")
在这一句就报错了fviz_pca_var(df2.pc,col.var = "contrib",gradient.cols=c("#00AFBB", "#E7B800", "#FC4E07"),repel = TRUE,cex = 0.5)
想要这种漂亮的