首先看因子载荷。以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<-read.table ("E:/rawdata.txt",header=TRUE)
mydata=scale(mydata)mydata.pr<-princomp(mydata,cor= TRUE)
mydata.pr$loadings[,1:2]
mydata.pr$scores[,1:2]
R rda函数:
rawdata<-read.table ("E:/rawdata.txt",header=TRUE)
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 |