principal() 函数可以根据原始数据矩阵或者相关系数矩阵做主成分分析,格式为
principal(r,nfactors= ,rotate=,scores=)
1
1
1
principal(r,nfactors= ,rotate=,scores=)
r:是相关系数矩阵或者原始数据矩阵
nfactors:设定主成分数(默认为1)
rotate:指定旋转方法(默认最大方差旋转(varimax))
scores:设定是否需要计算主成分(默认不需要)
美国法官评分的主成分分析
数据集USJudgeRatings 包含了律师对美国高等法院法官的评分

> library(psych)
> pc <- principal(USJudgeRatings[,-1],nfactors = 1) #principall()函数
> pc
Principal Components Analysis
Call: principal(r = USJudgeRatings[, -1], nfactors = 1) #主成分数1
Standardized loadings (pattern matrix) based upon correlation matrix
PC1 h2 u2 com
INTG 0.92 0.84 0.1565 1
DMNR 0.91 0.83 0.1663 1
DILG 0.97 0.94 0.0613 1
CFMG 0.96 0.93 0.0720 1
DECI 0.96 0.92 0.0763 1
PREP 0.98 0.97 0.0299 1
FAMI 0.98 0.95 0.0469 1
ORAL 1.00 0.99 0.0091 1
WRIT 0.99 0.98 0.0196 1
PHYS 0.89 0.80 0.2013 1
RTEN 0.99 0.97 0.0275 1
PC1
SS loadings 10.13 #包含了主成分相关联的特征值,指的是与特定主成分相关联的标准化后的方差值(本例中,第一主成分的值为10)。
Proportion Var 0.92 #第一个主成分解释了变量92%的方差
#后续内容删除
x
1
> library(psych)
2
> pc <- principal(USJudgeRatings[,-1],nfactors = 1) #principall()函数
3
> pc
4
Principal Components Analysis
5
Call: principal(r = USJudgeRatings[, -1], nfactors = 1) #主成分数1
6
Standardized loadings (pattern matrix) based upon correlation matrix
7
PC1 h2 u2 com
8
INTG 0.92 0.84 0.1565 1
9
DMNR 0.91 0.83 0.1663 1
10
DILG 0.97 0.94 0.0613 1
11
CFMG 0.96 0.93 0.0720 1
12
DECI 0.96 0.92 0.0763 1
13
PREP 0.98 0.97 0.0299 1
14
FAMI 0.98 0.95 0.0469 1
15
ORAL 1.00 0.99 0.0091 1
16
WRIT 0.99 0.98 0.0196 1
17
PHYS 0.89 0.80 0.2013 1
18
RTEN 0.99 0.97 0.0275 1
19
20
PC1
21
SS loadings 10.13 #包含了主成分相关联的特征值,指的是与特定主成分相关联的标准化后的方差值(本例中,第一主成分的值为10)。
22
Proportion Var 0.92 #第一个主成分解释了变量92%的方差
23
24
#后续内容删除
在例中,输入的是没有CONT变量的原始数据,并指定获取一个未旋转的主成分,由于PCA只对相关系数矩阵进行分析,在获取主成分前,原始数据将会被自动转换为相关系数矩阵
PC1栏:包含了
成分载荷,指观测变量与主成分的相关系数,成分载荷可以解释主成分含义
h2:h2栏指成分
公因子方差,即主成分对每个变量的方差解释度,
u2:u2栏指成分唯一性,即方差无法被主成分解释比例(1-h2),如本例中体能(PHYS)80%的方差都可用第一主成分来解释,20%不能,相比较而言,PHYS是用第一主成分表示性最差的变量
SS loading:包含了与主成分相关联的特征值,指的是与特定主成分相关联的标准化后的方差值,本例中,第一主成分值为10
Proportionn Var:表示的是每个主成分对整个数据集的解释程度,本例为 ,第一个主成分解释了11个变量92%的方差
身体测量指标的主成分析
Harman23.cor数据集包含305个女孩的8各身体测量指标。本例中,数据集由变量的相关系数组成,而不是原始数据集

> library(psych)
> fa.parallel(Harman23.cor$cov, n.obs=302, fa="pc", n.iter=100, #Harman23.cor对象中cov部分,并设定样本大小n.bos
+ show.legend=FALSE, main="Scree plot with parallel analysis")
Parallel analysis suggests that the number of factors = NA and the number of components = 2 #建议nfactors=2
#与第一个例子相似,图形中的Kaiser-Harris准则,碎石检验和平行分析都建议选择两个主成分,但是三个并不总是相同,可能需要依据实际情况提取不同数目的主成分,选择最优化解决方案
#如下图14-3
#提取主成分
> library(psych)
> PC <- principal(Harman23.cor$cov, nfactors=2, rotate="none")
> PC
Principal Components Analysis
Call: principal(r = Harman23.cor$cov, nfactors = 2, rotate = "none")
Standardized loadings (pattern matrix) based upon correlation matrix
PC1 PC2 h2 u2 com #整个内容叫做载荷阵
height 0.86 -0.37 0.88 0.123 1.4 #对于高度变量,两个主成分解释了88%的方差
arm.span 0.84 -0.44 0.90 0.097 1.5
forearm 0.81 -0.46 0.87 0.128 1.6
lower.leg 0.84 -0.40 0.86 0.139 1.4
weight 0.76 0.52 0.85 0.150 1.8
bitro.diameter 0.67 0.53 0.74 0.261 1.9
chest.girth 0.62 0.58 0.72 0.283 2.0
chest.width 0.67 0.42 0.62 0.375 1.7
PC1 PC2
SS loadings 4.67 1.77
Proportion Var 0.58 0.22 #第一主成分解释了身体测量指标的58%方差,而第二主成分解释了22%方差,两者共解释了81%的方差
Cumulative Var 0.58 0.81
Proportion Explained 0.73 0.27
Cumulative Proportion 0.73 1.00
#[.....已删除额外输出....]
x
1
> library(psych)
2
> fa.parallel(Harman23.cor$cov, n.obs=302, fa="pc", n.iter=100, #Harman23.cor对象中cov部分,并设定样本大小n.bos
3
+ show.legend=FALSE, main="Scree plot with parallel analysis")
4
Parallel analysis suggests that the number of factors = NA and the number of components = 2 #建议nfactors=2
5
#与第一个例子相似,图形中的Kaiser-Harris准则,碎石检验和平行分析都建议选择两个主成分,但是三个并不总是相同,可能需要依据实际情况提取不同数目的主成分,选择最优化解决方案
6
#如下图14-3
7
8
#提取主成分
9
> library(psych)
10
> PC <- principal(Harman23.cor$cov, nfactors=2, rotate="none")
11
> PC
12
Principal Components Analysis
13
Call: principal(r = Harman23.cor$cov, nfactors = 2, rotate = "none")
14
Standardized loadings (pattern matrix) based upon correlation matrix
15
PC1 PC2 h2 u2 com #整个内容叫做载荷阵
16
height 0.86 -0.37 0.88 0.123 1.4 #对于高度变量,两个主成分解释了88%的方差
17
arm.span 0.84 -0.44 0.90 0.097 1.5
18
forearm 0.81 -0.46 0.87 0.128 1.6
19
lower.leg 0.84 -0.40 0.86 0.139 1.4
20
weight 0.76 0.52 0.85 0.150 1.8
21
bitro.diameter 0.67 0.53 0.74 0.261 1.9
22
chest.girth 0.62 0.58 0.72 0.283 2.0
23
chest.width 0.67 0.42 0.62 0.375 1.7
24
25
PC1 PC2
26
SS loadings 4.67 1.77
27
Proportion Var 0.58 0.22 #第一主成分解释了身体测量指标的58%方差,而第二主成分解释了22%方差,两者共解释了81%的方差
28
Cumulative Var 0.58 0.81
29
Proportion Explained 0.73 0.27
30
Cumulative Proportion 0.73 1.00
31
32
#[.....已删除额外输出....]
载荷阵解释了成分和因子的含义,第一主成分与每个身体测量指标都正相关,看起来似乎是一个一般性的衡量因子;
第二主成分与前四个变量(height、arm.span、forearm和lower.leg)负相关,
与后四个变量(weight、bitro.diameter、chest.girth和chest.width)正相关,因此它看起来似乎是一个长度-容量因子
