主成分分析结果成分不显著_spss、R做出来的主成分分析因子载荷和得分结果不同...

博主对比了使用SPSS、MATLAB、R的princomp和vegan包中的rda函数进行主成分分析的结果,发现尽管特征值和贡献率相同,但因子载荷和得分值存在差异。R的princomp与SPSS、MATLAB结果有正负号差异,而rda函数的结果与SPSS接近但仍有数值差异。这表明不同软件的算法实现可能影响分析结果,建议在选择分析工具时注意这些差异。
摘要由CSDN通过智能技术生成

spss、R做出来的主成分分析因子载荷和得分结果不同

同样一组数据,我用spss、matlab、R中的princomp函数和vegan程序包中的rda函数多种计算方法做主成分分析,结果竟然不一样。我仔细看了下,特征值和贡献率都一样,问题出在因子载荷和得分系数上。我会给出原始数据,希望高手用自己熟悉的软件帮忙计算下啊,如果能同时用多个软件计算就更好了。实在感激不尽。

首先看因子载荷。以spss结果为准,princomp函数的PC2值刚好与spss结果为相反数;matlab的PC1结果与SPSS结果为相反数,rda函数与spss结果接近,数值有所差异。

因子载荷图

R princomp

R rda

matlab

SPSS

Comp.1

Comp.2

PC1

PC2

0.65

-0.01

-1.01

0.02

0.65

0.01

-0.65

0.01

硫化氢

-0.39

-0.49

0.62

0.68

-0.39

0.49

0.39

0.49

二氧化碳

-0.28

0.22

0.44

-0.30

-0.28

-0.22

0.28

-0.22

碳4

0.39

-0.47

-0.61

0.65

0.39

0.47

-0.39

0.47

环氧氯丙烷

-0.45

-0.22

0.70

0.31

-0.45

0.22

0.45

0.22

环己烷

0.06

-0.67

-0.10

0.93

0.06

0.67

-0.06

0.67

其次看得分值。得分值的情况与因子载荷一样。由于得分值不同,最后计算的总分值也就不同了。

得分

R princomp

R rda

matlab

SPSS

Comp.1

Comp.2

PC1

PC2

PC1

PC2

PC1

PC2

1

-0.07

1.24

0.04

-0.84

-0.06

-1.16

0.07

-1.18

2

-0.36

2.86

0.21

-1.92

-0.34

-2.67

0.34

-2.66

3

-1.80

-1.58

1.07

1.06

-1.69

1.48

1.69

1.49

4

-2.32

-0.61

1.38

0.41

-2.17

0.57

2.19

0.56

5

2.81

-1.06

-1.68

0.71

2.63

1.00

-2.65

0.99

6

0.53

0.08

-0.31

-0.05

0.49

-0.08

-0.5

-0.06

7

0.07

-0.79

-0.04

0.53

0.06

0.74

-0.06

0.75

8

1.14

-0.14

-0.68

0.09

1.07

0.13

-1.08

0.11

但是我不清楚问题出在哪里啊。

以下是每个方法的过程,请诸位看看:

R princomp函数:

mydata

mydata=scale(mydata)

mydata.pr

mydata.pr$loadings[,1:2]

mydata.pr$scores[,1:2]

R rda函数:

rawdata

mydata.pca=rda(rawdata,scale=T)

summary(mydata.pca)

matlab:data为原始数据

sddata=zscore(data);%将数据进行标准化

[coeff,score,latent,tsquare,explained]=pca(sddata)

spss略。

原始数据很简单:

硫化氢

二氧化碳

碳4

环氧氯丙烷

环己烷

site 1

0.056

0.084

0.031

0.038

0.008

0.022

site 2

0.049

0.055

0.1

0.11

0.022

0.007

site 3

0.038

0.13

0.079

0.17

0.058

0.043

site 4

0.034

0.095

0.058

0.16

0.2

0.029

site 5

0.084

0.066

0.029

0.32

0.012

0.041

site 6

0.064

0.072

0.1

0.21

0.028

0.038

site 7

0.048

0.089

0.062

0.26

0.038

0.036

site 8

0.069

0.087

0.027

0.25

0.045

0.021

其实仔细看结果,R princomp,matlab,SPSS的PCA结果是一样的。rda的算法不同啊。

喜欢 (6)or分享 (0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值