Learn R Programming

nFactors (version 2.3.1)

eigenBootParallel: Bootstrapping of the Eigenvalues From a Data Frame

Description

The eigenBootParallel function samples observations from a data.frame to produces correlation or covariance matrix from which eigenvalues are computed. The function returns statistics about these bootstrapped eigenvalues. Their means or their quantile could be used later to replace the eigenvalues inputed to a parallel analysis. The eigenBootParallel can also computes random eigenvalues from empirical data by columns permutation (Buja and Eyuboglu, 1992).

Usage

eigenBootParallel(x, quantile=0.95, nboot=30, option="permutation",
                   cor=TRUE, model="components", ...)

Arguments

x
data.frame: data from which a correlation matrix will be obtained
quantile
numeric: eigenvalues quantile that will be reported
nboot
numeric: number of bootstrap samples
option
character: "permutation" or "bootstrap"
cor
logical: if TRUE computes eigenvalues from a correlation matrix, else from a covariance matrix (eigenComputes)
model
character: bootstraps from a principal component analysis ("components") or from a factor analysis ("factors")
...
variable: additionnal parameters to give to the cor or cov functions

Value

  • valuesdata.frame: mean, median, quantile, standard deviation, minimum and maximum of bootstrapped eigenvalues

References

Buja, A. and Eyuboglu, N. (1992). Remarks on parallel analysis. Multivariate Behavioral Research, 27(4), 509-540. Zwick, W. R. and Velicer, W. F. (1986). Comparison of five rules for determining the number of components to retain. Psychological bulletin, 99, 432-442.

See Also

principalComponents, iterativePrincipalAxis, rRecovery

Examples

Run this code
# .......................................................
# Example from the iris data
 eigenvalues <- eigenComputes(x=iris[,-5])
 
# Permutation parallel analysis distribution
 aparallel   <- eigenBootParallel(x=iris[,-5], quantile=0.95)$quantile

# Number of components to retain
 results     <- nScree(x = eigenvalues, aparallel = aparallel)
 results$Components
 plotnScree(results)
# ......................................................

# ......................................................
# Bootstrap distributions stude of the eigenvalues from iris data
# with different correlation methods
 eigenBootParallel(x=iris[,-5],quantile=0.05,
                   option="bootstrap",method="pearson")
 eigenBootParallel(x=iris[,-5],quantile=0.05,
                   option="bootstrap",method="spearman")
 eigenBootParallel(x=iris[,-5],quantile=0.05,
                   option="bootstrap",method="kendall")

Run the code above in your browser using DataLab