matlab主成分分析散点图_matlab、R软件等做主成分分析结果不同?为什么?
同樣一組數據,我用spss、matlab、R中的princomp函數和vegan程序包中的rda函數多種計算方法做主成分分析,結果竟然不一樣。我仔細看了下,特征值和貢獻率都一樣,問題出在因子載荷和得分系數上。我會給出原始數據,希望高手用自己熟悉的軟件幫忙計算下啊,如果能同時用多個軟件計算就更好了。實在感激不盡。本人新手,金幣實在不多。
首先看因子載荷。以spss結果為準,princomp函數的PC2值剛好與spss結果為相反數;matlab的PC1結果與SPSS結果為相反數,rda函數與spss結果接近,數值有所差異。
因子載荷圖
R princompR rdamatlabSPSS
Comp.1Comp.2PC1PC2
氯0.65-0.01-1.010.020.650.01-0.650.01
硫化氫-0.39-0.490.620.68-0.390.490.390.49
二氧化碳-0.280.220.44-0.30-0.28-0.220.28-0.22
碳40.39-0.47-0.610.650.390.47-0.390.47
環氧氯丙烷-0.45-0.220.700.31-0.450.220.450.22
環己烷0.06-0.67-0.100.930.060.67-0.060.67其次看得分值。得分值的情況與因子載荷一樣。由于得分值不同,最后計算的總分值也就不同了。
得分R princompR rdamatlabSPSS
Comp.1Comp.2PC1PC2PC1PC2PC1PC2
1-0.071.240.04-0.84-0.06-1.160.07-1.18
2-0.362.860.21-1.92-0.34-2.670.34-2.66
3-1.80-1.581.071.06-1.691.481.691.49
4-2.32-0.611.380.41-2.170.572.190.56
52.81-1.06-1.680.712.631.00-2.650.99
60.530.08-0.31-0.050.49-0.08-0.5-0.06
70.07-0.79-0.040.530.060.74-0.060.75
81.14-0.14-0.680.091.070.13-1.080.11
但是我不清楚問題出在哪里啊。
以下是每個方法的過程,請諸位看看:
R princomp函數:
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 10.0560.0840.0310.0380.0080.022
site 20.0490.0550.10.110.0220.007
site 30.0380.130.0790.170.0580.043
site 40.0340.0950.0580.160.20.029
site 50.0840.0660.0290.320.0120.041
site 60.0640.0720.10.210.0280.038
site 70.0480.0890.0620.260.0380.036
site 80.0690.0870.0270.250.0450.021
總結
以上是生活随笔為你收集整理的matlab主成分分析散点图_matlab、R软件等做主成分分析结果不同?为什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java对Oracle数据库查询_jav
- 下一篇: Java不满足的依赖异常_不要依赖代码中