- principal()
美国法官评分例子
> library(psych)> pc <- principal(USJudgeRatings[,-1], nfactors=1, score=TRUE) #获得每个调查对象在该主成分上的得分> head(pc$scores) #仅取出前几个,可以 pc$scores 获取所有 PC1AARONSON,L.H. -0.1857981ALEXANDER,J.M. 0.7469865ARMENTANO,A.J. 0.0704772BERDON,R.I. 1.1358765BRACKEN,J.J. -2.1586211BURNS,E.B. 0.7669406> cor(USJudgeRatings$CONT, pc$score)#。如果有需要,你还可以获得律师与法官的接触频数与法官评分间的相关系数,结果两者毫无相关 PC1[1,] -0.008815895
x
1
> library(psych)
2
> pc <- principal(USJudgeRatings[,-1], nfactors=1, score=TRUE) #获得每个调查对象在该主成分上的得分
3
> head(pc$scores) #仅取出前几个,可以 pc$scores 获取所有
4
PC1
5
AARONSON,L.H. -0.1857981
6
ALEXANDER,J.M. 0.7469865
7
ARMENTANO,A.J. 0.0704772
8
BERDON,R.I. 1.1358765
9
BRACKEN,J.J. -2.1586211
10
BURNS,E.B. 0.7669406
11
12
> cor(USJudgeRatings$CONT, pc$score)#。如果有需要,你还可以获得律师与法官的接触频数与法官评分间的相关系数,结果两者毫无相关
13
PC1
14
[1,] -0.008815895
当 scores = TRUE 时,主成分得分存储在 principal() 函数返回对象的 scores 元素中
女生身体测量例子
当主成分分析基于相关系数矩阵时,原始数据便可不用,也不可能获得每个观测的主成分得分,但是可得用来计算主成分得分的系数。
在身体测量数据中,你有各身体测量指标间的相关系数,但是没有305个女孩的个体测量值
> library(psych)> rc <- principal(Harman23.cor$cov, nfactors=2, rotate="varimax")> round(unclass(rc$weights), 2) RC1 RC2height 0.28 -0.05arm.span 0.30 -0.08forearm 0.30 -0.09lower.leg 0.28 -0.06weight -0.06 0.33bitro.diameter -0.08 0.32chest.girth -0.10 0.34chest.width -0.04 0.27
12
12
1
> library(psych)
2
> rc <- principal(Harman23.cor$cov, nfactors=2, rotate="varimax")
3
> round(unclass(rc$weights), 2)
4
RC1 RC2
5
height 0.28 -0.05
6
arm.span 0.30 -0.08
7
forearm 0.30 -0.09
8
lower.leg 0.28 -0.06
9
weight -0.06 0.33
10
bitro.diameter -0.08 0.32
11
chest.girth -0.10 0.34
12
chest.width -0.04 0.27
利用如下公式计算得到主成分得分
PC1 = 0.28*height + 0.3*arm.span + 0,30*forearm + 0.29*lower.leg - 0.06*weight - 0.08*bitro.diameter - 0.10*chest.girth - 0.04*chest.width PC2 = -0.05*height - 0.08*arm.span + 0.09*forearm + 0.06*lower.leg + 0.33*weight + 0.32*bitro.diameter + 0.34*chest.girth + 0.27*chest.width
x
3
1
PC1 = 0.28*height + 0.3*arm.span + 0,30*forearm + 0.29*lower.leg - 0.06*weight - 0.08*bitro.diameter - 0.10*chest.girth - 0.04*chest.width
2
3
PC2 = -0.05*height - 0.08*arm.span + 0.09*forearm + 0.06*lower.leg + 0.33*weight + 0.32*bitro.diameter + 0.34*chest.girth + 0.27*chest.width
两个等式都假定身体测量指标都已标准化(mean = 0,sd = 1),注意,体重在 PC1 上的系数约为 0.3或 0 ,对于 PC2 也是一样。从实际角度考虑,你可以进一步简化方法,将第一主成分看作前四个变量标准化得分的均值;类似地,将第二主成分看作后四个变量标准化的均值