R语言学习笔记-主成分分析(PCA)
(2016-09-10 13:53:28)
标签:
365r |
分类: R语言 |
主成分分析(PCA)
《R语言实战》学习笔记
principal()
fa.parallel()
格式:principal(data,nfactors=,rotate=,scores=)
调用principal函数主要设置输入参数data和主成分数nfactors。
说明:data相关系数矩阵或原始数据矩阵;
nfactors设定主成分数(默认为1);
rotate指定旋转的方法(默认为最大方差旋转varimax);
scores设定是否需要计算主成分得分(默认不需要)。
代码如下:
install.packages("psych")#安装psych包
library(psych) #调用psych函数包
data(USJudgeRatings) #调用数据
fa.parallel(USJudgeRatings[,-1], fa="pc",n.iter=100, show.legend=FALSE, main="Scree plot with parallelanalysis") #含平行分析的碎石图
pc<-principal(USJudgeRatings[,-1],nfactors=1,rotate="none")#提取主成分
pc#输出未旋转的主成分
rc <- principal(USJudgeRatings[,-1],nfactors=1,rotate="varimax")#方差极大旋转的主成分,去噪
rc#输出旋转的主成分
rc <- principal(USJudgeRatings[,-1],nfactors=1,rotate="varimax",score=TRUE) #获取主成分得分
head(rc$scores) #输出主成分得分
round(unclass(rc$weights),2)
#输出主成分得分系数
_______________________________________________________________________________
《统计建模与R软件》学习笔记:
测试数据:
X1=c(148, 139, 160, 149, 159, 142, 153, 150, 151,
139,
代码如下:
####主成分分析
#读取数据
PCAdata<-read.csv("D:/ test.csv")
#作主成分分析
PCAdata.pr<-princomp(PCAdata,cor=TRUE)
#显示分析结果
summary(PCAdata.pr,loadings=TRUE)
#作预测
predict(PCAdata.pr)
#画出主成分的碎石图
screeplot(PCAdata.pr,type="lines")
#画散点图
biplot(PCAdata.pr,choices=1:2,scale=1,pc.biplot=FALSE)
_______________________________________________________________________________
princomp函数
格式:
princomp(x,cor=FALSE,scores=TRUE,covmat=NULL,subset=rep(TRUE,nrow(as.matrix(x))),…)
说明:
x是用于主成分分析的数据;cor是逻辑变量,当cor=TRUE表示用样本的相关矩阵R作主成分分析,当cor=FALSE(默认值)表示用样本的协方差S作为主成分分析;covmat是协方差阵,如果数据不用x提供,可由协方差提供。
summary函数
格式:summary(object,loadings=FALSE,cutoff=0.1,…)
说明:object是由princomp()得到的对象;loadings是逻辑变量,当loadings=TRUE表示显示loadings的内容,当loadings=FALSE则不显示。
loadings函数
格式:loadings(x)
说明:x是函数princomp()得到的对象。
predict函数
格式:predict(object,newdata,…)
说明:object是由princomp()得到的对象;newdata是由预测值构成的数据框,当newdata为默认值时,预测已有数据的主成分值。
screeplot函数
格式:screeplot(x,npcs=min(10,length(x$sdev)),
说明:x是princomp()得到的对象;npcs是画出的主成分个数;type是描述画出的碎石图的类型,其中“barplot”是直方图类型,“lines”是直线图类型。
biplot函数
格式:biplot(x,choices=1:2,scale=1,pc.biplot=FALSE,…)
说明:x是princomp()得到的对象;choices是选择的主成分,默认值是第1、第2主成分;pc.biplot是逻辑变量(默认值为FALSE,当pc.biplot=TRUE,用Gabriel提出方法画图)
_______________________________________________________________________________
老师修改:
#读取数据
PCAdata<- read.csv("F:/工作/国电/test.csv")
#作主成分分析
PCAdata.pr<-princomp(PCAdata, cor=T)
#显示分析结果
summary(PCAdata.pr,loadings=T)
#画出主成分的碎石图
screeplot(PCAdata.pr,type="lines")
##输出原始数据的均值和标准差
disdata=rbind(PCAdata.pr$center,PCAdata.pr$scale)
rownames(disdata)=c("center","scale")
##输出主成分得分
scoresdata=PCAdata.pr$scores
R语言交流QQ群:99598210,欢迎加入!
点击链接加入:http://jq.qq.com/?_wv=1027&k=2GdJIAQ
数据小雄R语言学习笔记,转载请注明出处,谢谢!官网:http://www.zhangzhengxiong.com
—————————————————————————
【版权申明】
如非注明,本站文章均为
本文地址:http://www.zhangzhengxiong.com/?id=4。