efaMR {EFAutilities} R Documentation

## Exploratory Factor Analysis with Multiple Rotations

### Description

The function compares EFA solutions from multiple random starts or from multiple rotation criteria.

### Usage

```efaMR(x=NULL, factors=NULL, covmat=NULL, n.obs=NULL,
dist='normal', fm='ols', rtype='oblique', rotation = 'CF-varimax',
nstart = 100, compare = 'First', plot = T, cex = .5,
normalize = FALSE, geomin.delta = .01,
MTarget = NULL, MWeight = NULL, PhiTarget = NULL, PhiWeight = NULL,
useorder = FALSE, mnames = NULL, fnames = NULL, wxt2 = 1)
```

### Arguments

 `x` The raw data: an n-by-p matrix where n is number of participants and p is the number of manifest variables. `factors` The number of factors m: specified by a researcher; the default one is the Kaiser rule which is the number of eigenvalues of covmat larger than one. `covmat` A p-by-p manifest variable correlation matrix. `n.obs` The number of participants used in calculating the correlation matrix. This is not required when the raw data (x) is provided. `dist` Manifest variable distributions: 'normal'(default), 'continuous', 'ordinal' and 'ts'. 'normal' stands for normal distribution. 'continuous' stands for nonnormal continuous distributions. 'ordinal' stands for Likert scale variable. "ts" stands for distributions for time-series data. `fm` Factor extraction methods: 'ols' (default) and 'ml' `rtype` Factor rotation types: 'oblique' (default) and 'orthogonal'. Factors are correlated in 'oblique' rotation, and they are uncorrelated in 'orthogonal' rotation. `rotation` Factor rotation criteria: 'CF-varimax' (default), 'CF-quartimax', 'CF-equamax', 'CF-facparsim', 'CF-parsimax','target', and 'geomin'. These rotation criteria can be used in both orthogonal and oblique rotation. In addition, a fifth rotation criterion 'xtarget'(extended target) rotation is available for oblique rotation. The extended target rotation allows targets to be specified on both factor loadings and factor correlations. `input.A` A p-by-m unrotated factor loading matrix. It can replace x or covmat as input arguments. Only factor rotation will be conducted; factor extraction will not be conducted. `additionalRC` A string of factor extraction methods against which the main rotation is compared. Required only when nstart = 1. See details. `nstart` The number random orthogonal starts used, with 100 as the default value. With nstart = 1, only one random start is used. See details. `compare` 'First' (default) or 'All': The global solution is compared against all local solutions with 'First'; All solutions are compared with each other with 'All'. `plot` Whether a bar graph that shows the number and frequencies of local solutions or not: TRUE (default) and FALSE. `cex` A tuning parameter if the plot is produced: .5 (default) `normalize` Row standardization in factor rotation: FALSE (default) and TRUE (Kaiser standardization). `geomin.delta` The controlling parameter in Geomin rotation, 0.01 as the default value. `MTarget` The p-by-m target matrix for the factor loading matrix in target rotation or xtarget rotation. `MWeight` The p-by-m weight matrix for the factor loading matrix in target rotation or xtarget rotation. `PhiTarget` The m-by-m target matrix for the factor correlation matrix in xtarget rotation. `PhiWeight` The m-by-m weight matrix for the factor correlation matrix in xtarget rotation. `useorder` Whether an order matrix is used for factor alignment: FALSE (default) and TRUE `mnames` Names of p manifest variables: Null (default) `fnames` Names of m factors: Null (default) `wxt2` The relative weight for factor correlations in 'xtarget' (extended target) rotation: 1 (default)

### Details

efaMR performs EFA with multiple rotation using random starts.

Geomin rotation, in particular, is known to produce multiple local solutions; the use of random starts is advised (Hattori, Zhang, & Preacher, 2018).

The p-by-m unrotated factor loading matrix is post-multiplied by an m-by-m random orthogonal matrices before rotation.

The number of random starts can be specified with the default value of nstart = 100. Bar plot that represents frequencies of each solution is provided. If multiple solutions are found, they are compared with each other using congruence coefficient.

If nstart = 1, no random start is used. The solution is compared against solutions using additional rotation criterion provided by additionalRC.

For example, with rotation = geomin, additionalRC = c('CF-varimax', 'CF-quartimax), the geomin solution is compared against those with CF-varimax and CF-quartimax.

Estimation of standard errors and construction of confidence intervals are disabled with the function efaMR(). They are available with a function efa().

### Author(s)

Minami Hattori, Guangjian Zhang

### References

Hattori, M., Zhang, G., & Preacher, K. J. (2017). Multiple local solutions and geomin rotation. Multivariate Behavioral Research, 720–731. doi: 10.1080/00273171.2017.1361312

### Examples

```#data("CPAI537")    # Chinese personality assessment inventory (N = 537)

# # Example 1: Oblique geomin rotation with 10 random starts
# res1 <- efaMR(CPAI537, factors = 5, fm = 'ml',
#               rtype = 'oblique', rotation = 'geomin',
#               geomin.delta = .01, nstart = 10)
# res1
# summary(res1)
# res1\$MultipleSolutions
# res1\$Comparisons

# In practice, we recommend nstart = 100 or more (Hattori, Zhang, & Preacher, 2018).

# Example 2: Oblique geomin rotation (no random starts)
#            compared against CF-varimax and CF-quartimax rotation solutions
# res2 <- efaMR(CPAI537, factors = 5, fm = 'ml',
#               rtype = 'oblique', rotation = 'geomin',
#               geomin.delta = .01, nstart = 1)
# res2\$MultipleSolutions
# res2\$Comparisons

# Example 3: Obtaining multiple solutions from the unrotated factor loading matrix as input
# res3 <- efa(CPAI537, factors = 5, fm = 'ml',
#             rtype = 'oblique', rotation = 'geomin')
# set.seed(2017)
# res3MR <- efaMR(input.A = res3\$unrotated, rtype = 'oblique',
#                 rotation = 'geomin', geomin.delta = .01)
# res3MR\$MultipleSolutions
# res3MR\$Comparisons
```

[Package EFAutilities version 2.1.1 Index]