当前位置:首页 > 主成分分析R语言
第一题
> data=read.table(\> head(data)#前六行数据
> attach(data) > options(digits=2)
> data=as.matrix(data)#转化为矩阵
> v1<-eigen(data)#计算相关系数矩阵特征值和特征向量 > v1
> zhuchengfen<-princomp(covmat=data)#用相关系数矩阵做主成分分析 > summary(zhuchengfen)
> x<-zhuchengfen$loadings;x#主成分载荷
> y<-zhuchengfen$scores;y #主成分得分
因为只有相关系数矩阵,所以没有主成分的得分 > screeplot(zhuchengfen,type=\
根据累计方差贡献率和Kaiser准则,应该选择三个主成分,即PC1、PC2、PC3。累计方差贡献率为64%。PC1、PC2、PC3对方差贡献率分别是38%、15%、11%。结果如下: 运动项目 100米 跳远 铅球 跳高 400米 110米跨栏 铁饼 撑杆跳高 标枪 1500米 方差贡献率 累积方差贡献率 解释:前三个主成分解释了大部分信息;第一次主成分测量的是综合运动能力,第二个主成分代表了爆发力臂力,第三主成分测量的是爆发性腿力。 附录:
第一主成分 -0.355 -0.405 -0.361 -0.346 -0.318 -0.353 -0.319 -0.277 -0.223 0.38 0.38 第二主成分 -0.176 -0.149 0.434 -0.109 -0.447 0.423 0.356 -0.484 0.15 0.53 第三主成分 0.493 0.182 -0.131 0.153 -0.104 -0.389 -0.352 -0.623 0.11 0.64
这是psych软件包中计算主成分的结果,主成分载荷与princomp得到的结果有很大的差异,并且这个结果似乎更容易解释 第二题
> library(RODBC)
> data=odbcConnectExcel(\ > data1=sqlFetch(data,\ > close(data) #关闭通道 > attach(data1)
> head(data1)#查看前六行数据 > data2=data1[,-1]#去掉第一列数据
> options(digits=2) #数据均保留小数点后两位
> q2<-princomp(data2,cor=T) #用相关系数矩阵做主成分分析 > options(digits=2) #数据均保留小数点后两位 > summary(q2)
第一主成分对数据方差的解释度达到83%,因此我们只需要选择一个主成分,即第一主成分
共分享92篇相关文档