同样一组数据,我用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<-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 |
|