R中斜交旋转探索性因子分析后,如何提供各因子解释方差比例?
Hey there! I totally get the confusion—oblique rotation muddles the variance explained metrics a bit because factors are no longer independent, unlike orthogonal rotations like Varimax. Let's break down exactly what you need to report for your reviewer, using the psych package's output.
Key Background: Oblique vs. Orthogonal Rotation
- In orthogonal rotation, factors are uncorrelated, so the variance each factor explains is entirely unique—summing their variance proportions gives the total variance explained by all factors.
- In oblique rotation (like Oblimin or Promax), factors share variance (they’re correlated), so we have two distinct ways to measure "variance explained per factor":
- Variance relative to the total variance of all variables (each variable is standardized to variance = 1, so total variance equals the number of variables)
- Variance relative to the total common variance (the sum of variance all variables share with the factors, i.e., sum of variable communalities
h2)
What to Pull from psych's fa() Output
When you run your EFA with oblique rotation, for example:
library(psych) # Example EFA code (adjust to your data/method) efa_results <- fa(your_dataset, nfactors = 3, rotate = "oblimin", fm = "ml")
Look at the $Vaccounted component of the output—it’s a matrix with critical rows:
1. SS loadings
This is the sum of squared loadings for each factor. It represents the total variance (including overlap with other factors) that the factor captures from the variables.
2. Proportion Var
This is SS loadings divided by the total number of variables (since each variable’s variance is 1, total variance = number of variables). This is the percentage of the overall dataset variance explained by each factor.
3. Proportion Explained
This is SS loadings divided by the sum of all SS loadings (total common variance across factors). This tells you what percentage of the shared variance among variables is accounted for by each factor.
Which One to Report to Your Reviewer?
- Most reviewers ask for the
Proportion Varvalues—this is the standard "percent of variance explained per factor" relative to the entire dataset. - Critical note: Since oblique factors overlap, the sum of
Proportion Varwill not equal the total variance explained by all factors (unlike orthogonal rotation). You must mention this in your manuscript to avoid confusion! - For thoroughness, you can also report
Proportion Explained(label it clearly as "proportion of common variance explained")—this helps contextualize how much each factor contributes to the shared variance structure.
Example Output Interpretation
Suppose your efa_results$Vaccounted looks like this:
PA1 PA2 PA3 SS loadings 2.45 1.82 1.11 Proportion Var 0.20 0.15 0.09 Cumulative Var 0.20 0.35 0.44 Proportion Explained 0.41 0.30 0.19 Cumulative Proportion 0.41 0.71 0.90
You’d report: "The three oblique factors explained 20%, 15%, and 9% of the total variance in the dataset, respectively. Relative to the total common variance captured by all factors, the factors accounted for 41%, 30%, and 19% of shared variance."
Quick Tip for SPSS Alignment
If you need to match SPSS output:
- SPSS’s "Extraction Sums of Squared Loadings" =
SS loadings - SPSS’s "% of Variance" =
Proportion Var(multiplied by 100) - SPSS doesn’t directly report
Proportion Explained, but you can calculate it manually if needed.
内容的提问来源于stack exchange,提问作者sophar

