| Type: | Package | 
| Title: | Generates Multivariate Nonnormal Data and Determines How Many Factors to Retain | 
| Version: | 1.0 | 
| Author: | John Ruscio | 
| Maintainer: | John Ruscio <ruscio@tcnj.edu> | 
| Description: | The GenDataSample() and GenDataPopulation() functions create, respectively, a sample or population of multivariate nonnormal data using methods described in Ruscio and Kaczetow (2008). Both of these functions call a FactorAnalysis() function to reproduce a correlation matrix. The EFACompData() function allows users to determine how many factors to retain in an exploratory factor analysis of an empirical data set using a method described in Ruscio and Roche (2012). The latter function uses populations of comparison data created by calling the GenDataPopulation() function. <doi:10.1080/00273170802285693>. <doi:10.1037/a0025697>. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| NeedsCompilation: | no | 
| Packaged: | 2018-11-05 17:02:12 UTC; oliviaortelli | 
| Repository: | CRAN | 
| Date/Publication: | 2018-11-14 15:00:09 UTC | 
EFACompData
Description
Comparison data
Usage
EFACompData(data, f.max, n.pop = 10000, n.samples = 500, alpha = .30, graph = FALSE,
corr.type = "pearson")
Arguments
| data | Matrix to store the simulated data (matrix). | 
| f.max | Largest number of factors to consider (scalar). | 
| n.pop | Size of finite populations of comparison data (scalar, default is 10,000 cases). | 
| n.samples | Number of samples drawn from each population (scalar, default is 500). | 
| alpha | Alpha level when testing statistical significance of improvement with additional factor (scalar, default is .30) | 
| graph | Whether to plot the fit of eigenvalues to those for comparison data (default is FALSE). | 
| corr.type | Type of correlation (character, default is "pearson", user can also call "spearman"). | 
Value
Nothing, displays number of factors on screen.
Author(s)
John Ruscio
References
Ruscio & Roche (2011)
Examples
# create data matrix x with n = 200 cases, k = 9 variables
# 3 variables load onto each of 3 orthogonal factors
# all marginal distributions are highly skewed
x <- matrix(nrow = 200, ncol = 9)
for (i in 1:3) {
  shared <- rchisq(200, 1)
  for (j in 1:3) {
    x[, (i - 1) * 3 + j] <- shared + rchisq(200, 1)
  }
}
# empirically determine number of factors in data matrix x
EFACompData(x, f.max = 5)
FactorAnalysis
Description
Analyzes comparison data with known factorial structures
Usage
FactorAnalysis(data, corr.matrix = FALSE, max.iteration = 50,n.factors = 0,
corr.type = "pearson")
Arguments
| data | Matrix to store the simulated data (matrix). | 
| corr.matrix | Correlation matrix (default is FALSE) | 
| max.iteration | Maximum number of iterations (scalar, default is 50). | 
| n.factors | Number of factors (scalar, default is 0). | 
| corr.type | Type of correlation (character, default is "pearson", user can also call "spearman"). | 
Value
| $loadings | Factor loadings (vector, if one factor. matrix, if multiple factors) | 
| $factors | Number of factors (scalar). | 
Author(s)
John Ruscio
References
Ruscio & Roche (2011)
Examples
# create data matrix x with n = 200 cases, k = 9 variables
# 3 variables load onto each of 3 orthogonal factors
# all marginal distributions are highly skewed
x <- matrix(nrow = 200, ncol = 9)
for (i in 1:3) {
  shared <- rchisq(200, 1)
  for (j in 1:3) {
    x[, (i - 1) * 3 + j] <- shared + rchisq(200, 1)
  }
}
# perform factor analysis of data matrix x
FactorAnalysis(x)
GenDataPopulation
Description
Simulates multivariate nonnormal data using an iterative algorithm
Usage
GenDataPopulation(supplied.data, n.factors, n.cases, max.trials = 5,
                  initial.multiplier = 1, corr.type = "pearson", seed = 0)
Arguments
| supplied.data | Data supplied by user. | 
| n.factors | Number of factors (scalar). | 
| n.cases | Number of cases (scalar). | 
| max.trials | Maximum number of trials (scalar, default is 5). | 
| initial.multiplier | Value of initial multiplier (scalar, default is 1). | 
| corr.type | Type of correlation (character, default is "pearson", user can also call "spearman"). | 
| seed | seed value (scalar, default is 0). | 
Value
dataPopulation of data
Author(s)
John Ruscio
References
Ruscio & Roche (2011)
Examples
# create data matrix x with n = 200 cases, k = 9 variables
# 3 variables load onto each of 3 orthogonal factors
# all marginal distributions are highly skewed
x <- matrix(nrow = 200, ncol = 9)
for (i in 1:3) {
  shared <- rchisq(200, 1)
  for (j in 1:3) {
    x[, (i - 1) * 3 + j] <- shared + rchisq(200, 1)
  }
}
# generate (finite) population of data reproducing distributions and correlations in x
GenDataPopulation(x, n.factors = 3, n.cases = 10000)
GenDataSample
Description
Bootstraps each variable's score distribution from a supplied data set.
Usage
GenDataSample(supplied.data, n.factors = 0, max.trials = 5, initial.multiplier = 1,
corr.type = "pearson", seed = 0)
Arguments
| supplied.data | Data supplied by user. | 
| n.factors | Number of factors (scalar, default is 0). | 
| max.trials | Maximum number of trials (scalar, default is 5). | 
| initial.multiplier | Value of initial multiplier (scalar, default is 1). | 
| corr.type | Type of correlation (character, default is "pearson", user can also call "spearman"). | 
| seed | seed value (scalar, default is 0). | 
Value
dataSample of data
Author(s)
John Ruscio
References
Ruscio & Kaczetow (2008)
Examples
# create data matrix x with n = 200 cases, k = 9 variables
# 3 variables load onto each of 3 orthogonal factors
# all marginal distributions are highly skewed
x <- matrix(nrow = 200, ncol = 9)
for (i in 1:3) {
  shared <- rchisq(200, 1)
  for (j in 1:3) {
    x[, (i - 1) * 3 + j] <- shared + rchisq(200, 1)
  }
}
# generate sample of data reproducing distributions and correlations in x
GenDataSample(x)