Skip to contents

Fits an exploratory factor analysis (EFA) model from a synthesized correlation matrix extracted from a fitted mars object.

Usage

efa_from_synthesis(
  mars_object,
  n_factors = 1L,
  rotation = "varimax",
  num_obs = NULL,
  synthesis_method = c("model", "average", "weighted"),
  synthesis_transform = c("none", "fisher_z"),
  missing_corr = c("available", "pairwise", "em"),
  attenuation = c("none", "correct"),
  reliability = NULL,
  reliability_missing = c("error", "skip", "impute_mean", "assume_1"),
  pd_adjust = c("none", "eigen_clip", "nearpd"),
  pd_tol = 1e-08,
  ...
)

# S3 method for class 'efa_mars'
summary(object, ...)

# S3 method for class 'efa_mars'
print(x, digits = max(3, getOption("digits") - 3), ...)

Arguments

mars_object

A fitted object returned by mars.

n_factors

Number of latent factors for EFA.

rotation

Rotation used by factanal.

num_obs

Optional sample size used by factanal. Defaults to mars_object$sample_size.

synthesis_method

Correlation synthesis method: "model", "average", or "weighted".

synthesis_transform

Optional pooling transform for "average"/"weighted": "none" or "fisher_z".

missing_corr

Missing-correlation handling for synthesized matrices. One of "available", "pairwise", or "em".

attenuation

Attenuation-correction mode for synthesized correlations. One of "none" or "correct".

reliability

Reliability input used when attenuation = "correct".

reliability_missing

Strategy for missing reliability values. One of "error", "skip", "impute_mean", or "assume_1".

pd_adjust

Positive-definite repair for synthesized correlations: "none", "eigen_clip", or "nearpd".

pd_tol

Minimum eigenvalue tolerance used by pd_adjust = "eigen_clip".

...

Additional arguments passed to print.factanal().

object

An object of class "efa_mars".

x

An object of class "efa_mars".

digits

Number of digits used when printing numeric results.

Value

An object of class efa_mars.

Examples

# \donttest{
fit <- mars(
  data = becker09,
  studyID = "ID",
  effectID = "numID",
  sample_size = "N",
  effectsize_type = "cor",
  varcov_type = "weighted",
  variable_names = c(
    "Cognitive_Performance",
    "Somatic_Performance",
    "Selfconfidence_Performance",
    "Somatic_Cognitive",
    "Selfconfidence_Cognitive",
    "Selfconfidence_Somatic"
  )
)
efa_from_synthesis(fit, n_factors = 1)
#> EFA From Correlation Synthesis
#> Synthesis: model | Transform: none | PD adjust: none 
#> 
#> Call:
#> stats::factanal(factors = as.integer(n_factors), covmat = R,     n.obs = as.integer(N), rotation = rotation)
#> 
#> Uniquenesses:
#>    Performance      Cognitive        Somatic Selfconfidence 
#>         0.9863         0.4055         0.5177         0.6654 
#> 
#> Loadings:
#>                Factor1
#> Performance    -0.1169
#> Cognitive       0.7710
#> Somatic         0.6945
#> Selfconfidence -0.5784
#> 
#>                Factor1
#> SS loadings     1.4250
#> Proportion Var  0.3562
#> 
#> Test of the hypothesis that 1 factor is sufficient.
#> The chi square statistic is 35.35 on 2 degrees of freedom.
#> The p-value is 2.1e-08 
# }