[R分析] 主成分分析

进行主成分分析步骤:
1. 生成4列30个随机数;
2. 写csv文件,读csv文件;
3. 进行主成分分析。

1. 生成4列30个随机数;

runif(n, min = 0, max = 1)
runif函数生成随机数,n表示个数,min与max表示随机数的取值范围。
round函数四舍五入,默认小数位为0。

> x1<-round(runif(30,130,170))   
> x2<-round(runif(30,35,70))
> x3<-round(runif(30,60,95))
> x4<-round(runif(30,65,100))
> df<-data.frame(x1,x2,x3,x4)

2. 写csv文件,读csv文件;

write.csv写成csv文件,row.names = FALSE,表示行序号不写入文件中;
read.csv读csv文件,header = T,表示有列名。

> write.csv(df,"mydata.csv",row.names = FALSE)
> data<-read.csv("mydata.csv",header = T)

3. 进行主成分分析。

princomp为主成分分析函数,cor =T,表示用相关系数进行主成分分析。
summary表示变量的详细信息。

> student.pr<-princomp(data,cor =T)
> summary(student.pr)
> Importance of components:  
                          Comp.1    Comp.2    Comp.3    Comp.4
Standard deviation     1.2303666 1.0273342 0.9262209 0.7568999
Proportion of Variance 0.3784505 0.2638539 0.2144713 0.1432244
Cumulative Proportion  0.3784505 0.6423044 0.8567756 1.0000000
# Standard deviation标准差 
# Proportion of Variance变量贡献值
# Cumulative Proportion累积贡献值
#根据累积贡献值,选择累积贡献率大于80%的前3个主成分(本例中生成的数据为随机数)

predict得到各个主成分的数据
head函数为选择变量的前6列

> pca_data<-predict(student.pr)
> head(pca_data)
         Comp.1      Comp.2     Comp.3     Comp.4
[1,] -0.4271860 -1.18382287 0.12347562  1.8908984
[2,]  1.5849005  0.92291752 0.21817906 -0.2474528
[3,]  1.0549221 -0.90917022 0.03477916  0.1596491
[4,]  0.4990460  0.01975359 0.41885586 -0.9524047
[5,] -1.9577256  0.39384090 0.54980142  1.0408882
[6,]  0.9132287 -1.93470830 0.46627579  0.1070934
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值