Print and Summary Methods for GPArotation Class Objects
print.GPArotation.RdPrint and summary methods for objects returned by GPFRSorth,
GPFRSoblq, GPForth, or GPFoblq.
Both print.GPArotation and summary.GPArotation apply
consistent factor sorting and sign correction via the internal helper
.sortGPALoadings when sortLoadings = TRUE. Factors are
ordered by descending variance explained and signs are adjusted so that
the sum of loadings per factor is positive. This convention matches
that used by factanal.
For oblique rotations, summary.GPArotation displays both the
pattern matrix (regression coefficients of items on factors, controlling
for factor intercorrelations) and the structure matrix
(loadings %*% Phi, correlations between items and factors)
when Structure = TRUE. The two matrices coincide for orthogonal
rotations where \(\Phi = I\).
Output includes contributions of factors via SS loadings
(sum of squared loadings); see Harman (1976), sections 2.4 and 12.4.
Arguments
- x
a
GPArotationorsummary.GPArotationobject to print.- object
a
GPArotationobject to summarize.- digits
precision of printed numbers.
- sortLoadings
logical; if
TRUE(default) factors are sorted by descending variance explained and factor signs are adjusted so that the sum of loadings per factor is positive. Adapted fromfactanalsorting conventions. UsesortLoadings = FALSEto display the raw unsorted solution, for example when the factor order is meaningful as in bifactor rotation.- rotateMat
logical; if
TRUEthe rotation matrix is displayed.- Table
logical; if
TRUEthe iteration table is displayed.- Structure
logical; if
TRUE(default) the structure matrix (loadings %*% Phi) is displayed for oblique rotations insummary.- ...
further arguments passed to other methods.
Value
print.GPArotation returns the sorted GPArotation
object invisibly when sortLoadings = TRUE, or the unsorted
object when sortLoadings = FALSE.
summary.GPArotation returns a summary.GPArotation object
with sorted loadings and, for oblique rotations, the structure matrix.
print.summary.GPArotation returns the object invisibly.
Details
Factor sorting and sign correction are applied consistently in both
print and summary via the internal function
.sortGPALoadings, adapted from factanal sorting
conventions (R Core Team). This ensures that the pattern matrix shown
by summary is consistent with the loadings shown by
print.
The digits argument controls the number of decimal places
shown in the loadings, structure matrix, and Phi.
For examples see GPFRSorth and the package vignettes:
vignette("GPA1guide", package = "GPArotation").
Examples
data(Harman, package = "GPArotation")
res <- oblimin(Harman8, normalize = TRUE, randomStarts = 100)
# Print sorted loadings (default)
print(res)
#> Oblique rotation method Oblimin Quartimin converged at lowest minimum.
#> Of 100 random starts 100% converged, 100% at the same lowest minimum.
#> Loadings at lowest minimum:
#> CF1 CF2
#> height 0.892 0.056
#> arm.span 0.954 -0.023
#> forearm 0.929 -0.046
#> lower.leg 0.877 0.034
#> weight 0.014 0.925
#> bitro.diameter -0.017 0.821
#> chest.girth -0.052 0.765
#> chest.width 0.086 0.683
#>
#> CF1 CF2
#> SS loadings 3.362 2.604
#> Proportion Var 0.420 0.325
#> Cumulative Var 0.420 0.746
#>
#> Phi:
#> CF1 CF2
#> CF1 1.000 0.473
#> CF2 0.473 1.000
# Print unsorted loadings
print(res, sortLoadings = FALSE)
#> Oblique rotation method Oblimin Quartimin converged at lowest minimum.
#> Of 100 random starts 100% converged, 100% at the same lowest minimum.
#> Loadings at lowest minimum:
#> CF1 CF2
#> height 0.892 0.056
#> arm.span 0.954 -0.023
#> forearm 0.929 -0.046
#> lower.leg 0.877 0.034
#> weight 0.014 0.925
#> bitro.diameter -0.017 0.821
#> chest.girth -0.052 0.765
#> chest.width 0.086 0.683
#>
#> CF1 CF2
#> SS loadings 3.362 2.604
#> Proportion Var 0.420 0.325
#> Cumulative Var 0.420 0.746
#>
#> Phi:
#> CF1 CF2
#> CF1 1.000 0.473
#> CF2 0.473 1.000
# Summary with pattern and structure matrices
summary(res, Structure = TRUE)
#> Oblique rotation method Oblimin Quartimin converged in 13 iterations.
#> Pattern (loadings):
#> CF1 CF2
#> height 0.892 0.056
#> arm.span 0.954 -0.023
#> forearm 0.929 -0.046
#> lower.leg 0.877 0.034
#> weight 0.014 0.925
#> bitro.diameter -0.017 0.821
#> chest.girth -0.052 0.765
#> chest.width 0.086 0.683
#>
#> Structure:
#> CF1 CF2
#> height 0.918 0.478
#> arm.span 0.943 0.428
#> forearm 0.907 0.393
#> lower.leg 0.893 0.448
#> weight 0.451 0.931
#> bitro.diameter 0.371 0.813
#> chest.girth 0.309 0.740
#> chest.width 0.409 0.724
# Summary without structure matrix
summary(res, Structure = FALSE)
#> Oblique rotation method Oblimin Quartimin converged in 13 iterations.
#> Loadings:
#> CF1 CF2
#> height 0.892 0.056
#> arm.span 0.954 -0.023
#> forearm 0.929 -0.046
#> lower.leg 0.877 0.034
#> weight 0.014 0.925
#> bitro.diameter -0.017 0.821
#> chest.girth -0.052 0.765
#> chest.width 0.086 0.683
# Print with iteration table
print(res, Table = TRUE)
#> Oblique rotation method Oblimin Quartimin converged at lowest minimum.
#> Of 100 random starts 100% converged, 100% at the same lowest minimum.
#> Loadings at lowest minimum:
#> CF1 CF2
#> height 0.892 0.056
#> arm.span 0.954 -0.023
#> forearm 0.929 -0.046
#> lower.leg 0.877 0.034
#> weight 0.014 0.925
#> bitro.diameter -0.017 0.821
#> chest.girth -0.052 0.765
#> chest.width 0.086 0.683
#>
#> CF1 CF2
#> SS loadings 3.362 2.604
#> Proportion Var 0.420 0.325
#> Cumulative Var 0.420 0.746
#>
#> Phi:
#> CF1 CF2
#> CF1 1.000 0.473
#> CF2 0.473 1.000
#>
#> Iteration table:
#> iter f log10(s) alpha
#> [1,] 0 0.3307 0.131 1.000
#> [2,] 1 0.0806 -0.153 0.250
#> [3,] 2 0.0187 -0.664 0.250
#> [4,] 3 0.0144 -0.989 0.125
#> [5,] 4 0.0134 -1.378 0.125
#> [6,] 5 0.0133 -1.804 0.125
#> [7,] 6 0.0133 -2.249 0.125
#> [8,] 7 0.0132 -2.700 0.125
#> [9,] 8 0.0132 -3.154 0.125
#> [10,] 9 0.0132 -3.609 0.125
#> [11,] 10 0.0132 -4.063 0.125
#> [12,] 11 0.0132 -4.518 0.125
#> [13,] 12 0.0132 -4.973 0.125
#> [14,] 13 0.0132 -5.428 0.125