Learn R Programming

ordr (version 0.1.1)

methods-factanal: Functionality for factor analysis ('factanal') objects

Description

These methods extract data from, and attribute new data to, objects of class "factanal" as returned by stats::factanal().

Usage

# S3 method for factanal
as_tbl_ord(x)

# S3 method for factanal recover_rows(x)

# S3 method for factanal recover_cols(x)

# S3 method for factanal recover_inertia(x)

# S3 method for factanal recover_coord(x)

# S3 method for factanal recover_conference(x)

# S3 method for factanal recover_supp_rows(x)

# S3 method for factanal recover_aug_rows(x)

# S3 method for factanal recover_aug_cols(x)

# S3 method for factanal recover_aug_coord(x)

Value

The recovery generics recover_*() return core model components, distribution of inertia, supplementary elements, and intrinsic metadata; but they require methods for each model class to tell them what these components are.

The generic as_tbl_ord() returns its input wrapped in the 'tbl_ord' class. Its methods determine what model classes it is allowed to wrap. It then provides 'tbl_ord' methods with access to the recoverers and hence to the model components.

Arguments

x

An ordination object.

Details

Factor analysis of a data matrix relies on an an eigendecomposition of its correlation matrix, whose eigenvectors (up to weighting) comprise the variable loadings. For this reason, both row and column recoverers retrieve the loadings and inertia is evenly distributed between them. When computed and returned by stats::factanal(), the case scores are accessible as supplementary elements. Redistribution of inertia commutes through both score calculations.

See Also

Other methods for eigen-decomposition-based techniques: methods-cmds, methods-eigen

Other models from the stats package: methods-cancor, methods-cmds, methods-kmeans, methods-lm, methods-prcomp, methods-princomp

Examples

Run this code
# data frame of Swiss fertility and socioeconomic indicators
class(swiss)
head(swiss)
# perform factor analysis
swiss_fa <- factanal(~ ., factors = 2L, data = swiss, scores = "regression")

# wrap as a 'tbl_ord' object
(swiss_fa <- as_tbl_ord(swiss_fa))

# recover loadings
get_rows(swiss_fa, elements = "active")
get_cols(swiss_fa)
# recover scores
head(get_rows(swiss_fa, elements = "score"))

# augment column loadings with uniquenesses
(swiss_fa <- augment_ord(swiss_fa))

# symmetric biplot
swiss_fa %>%
  ggbiplot() +
  theme_bw() +
  geom_cols_vector(aes(color = uniqueness)) +
  geom_cols_text_radiate(aes(label = name)) +
  expand_limits(x = c(-2, 2.5), y = c(-1.5, 2))

Run the code above in your browser using DataLab