更改 psych::fa 或 psych::fa 中的因子标签。图表

Change factor labels in psych::fa or psych::fa.diagram

我正在使用 psych 包进行因子分析。我想在 fa() 对象中或在使用 fa.diagram().

绘图时指定潜在因子的标签

例如玩具数据:

require(psych)
n <- 100
choices <- 1:5
df <- data.frame(a=sample(choices, replace=TRUE, size=n), 
                 b=sample(choices, replace=TRUE, size=n), 
                 c=sample(choices, replace=TRUE, size=n), 
                 d=sample(choices, replace=TRUE, size=n))
model <- fa(df, nfactors=2, fm="pa", rotate="promax")

model

Factor Analysis using method =  pa
Call: fa(r = df, nfactors = 2, rotate = "promax", fm = "pa")
Standardized loadings (pattern matrix) based upon correlation matrix
    PA1   PA2   h2   u2 com
a  0.45 -0.49 0.47 0.53 2.0
b  0.22  0.36 0.17 0.83 1.6
c -0.02  0.20 0.04 0.96 1.0
d  0.66  0.07 0.43 0.57 1.0

我想将 PA1PA2 更改为 FactorAFactorB,方法是更改​​ model 对象本身,或者调整fa.diagram() 的输出:

docs for fa.diagram 有一个 labels 的论点,但没有例子,而且我到目前为止所做的实验并没有取得成果。非常感谢任何帮助!

通过 str(model) 我找到了 $loadings 属性,fa.diagram() 使用它来呈现图表。修改 model$loadingscolnames() 就成功了。

colnames(model$loadings) <- c("FactorA", "FactorB")
fa.diagram(model)