print.GPArotation: Print and Summary Methods for GPArotation Class Objects

View source: R/printsummary.R

print.GPArotationR Documentation

Print and Summary Methods for GPArotation Class Objects

Description

Print 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. For orthogonal rotations, Proportion Var and Cumulative Var are also shown. For oblique rotations these are suppressed as they are not meaningful when factors are correlated. Simple structure quality is reported via two criterion-free per-factor measures: AUC (Liu and Moustaki, 2024) and FSI (Lorenzo-Seva, 2003). Higher values indicate cleaner simple structure. These measures are shown for both orthogonal and oblique rotations and can be used to compare simple structure quality across rotation methods.

Usage

    ## S3 method for class 'GPArotation'
print(x, digits = 3, sortLoadings = TRUE, cutoff = 0.1,
                    rotateMat = FALSE, Table = FALSE, ...)
    ## S3 method for class 'GPArotation'
summary(object, digits = 3, Structure = TRUE, ...)
    ## S3 method for class 'summary.GPArotation'
print(x, cutoff = 0.1, ...)

Arguments

x

a GPArotation or summary.GPArotation object to print.

object

a GPArotation object 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 from factanal sorting conventions. Use sortLoadings = FALSE to display the raw unsorted solution, for example when the factor order is meaningful as in bifactor rotation.

cutoff

Numeric. Absolute values strictly below this are considered noise/hyperplane. Default is 0.1.

rotateMat

logical; if TRUE the rotation matrix is displayed.

Table

logical; if TRUE the iteration table is displayed.

Structure

logical; if TRUE (default) the structure matrix (loadings %*% Phi) is displayed for oblique rotations in summary.

...

further arguments passed to other methods.

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.

Display options such as cutoff are controlled at print time: print(summary(x), cutoff = 0.4), consistent with standard R convention.

Accessing the rotated loading matrix

The rotated loading matrix can be accessed directly via x\$loadings for use in further computations. The formatted output with factor sorting, AUC, FSI, and SS loadings is produced by print(x) or simply by typing the object name at the console. The loadings function from the stats package can also be used but returns the unsorted matrix without simple structure measures.

Convergence and algorithm information

The print header reports convergence status, the algorithm used (algorithm), and the non-monotone line search window (fwindow). If convergence was not obtained, a diagnostic suggestion is provided based on the algorithm currently in use. See GPForth and GPFoblq for details on algorithm options.

For examples see GPFRSorth and the package vignettes: vignette("GPA1guide", package = "GPArotation").

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.

References

Harman, H.H. (1976) Modern Factor Analysis, 3rd ed. University of Chicago Press.

Liu, X., Wallin, G., Chen, Y., and Moustaki, I. (2023). Rotation to sparse loadings using L^p losses and related inference problems. Psychometrika, 88(2), 527–553. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s11336-023-09911-y")}

Lorenzo-Seva, U. (2003) A factor simplicity index. Psychometrika, 68(1), 49–60. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/BF02296652")}

See Also

GPFRSorth, GPForth, factanal, summary

Examples

  data(Harman, package = "GPArotation")
  res <- oblimin(Harman8, normalize = TRUE, randomStarts = 100)

  # Print sorted loadings (default)
  print(res)

  # Print unsorted loadings
  print(res, sortLoadings = FALSE)

  # Summary with pattern and structure matrices
  summary(res, Structure = TRUE)

  # Summary without structure matrix
  summary(res, Structure = FALSE)

  # Print with iteration table
  print(res, Table = TRUE)

GPArotation documentation built on June 18, 2026, 9:06 a.m.