NEWS
latentFactoR 0.0.8
- ADD: ‘simulate_hierarchical_factors' simulates data from a hierarchical (second-order) factor model, where variables load onto lower-order factors and lower-order factors load onto higher-order factors; the lower-order factors’ residual (disturbance) structure can be set directly via 'off_disturbances'/'off_disturbances_range' (only their *off-diagonal*, correlated-disturbance elements are settable — the diagonal is always rescaled to unit variance, since any unexplained variance is normalized away regardless) or left to be implied instead by supplying a target 'lower_correlations'/'lower_correlations_range' matrix
- ADD: 'print'/'summary' methods for 'simulate_factors'/'simulate_hierarchical_factors' output, reporting loadings, correlations, disturbances, categories, and skew
- FIX: 'simulate_factors' could loop indefinitely when supplied 'loadings'/'correlations' were jointly inadmissible; now errors after 1000 attempts with an informative message
- INTERNAL: consolidated '@import'/'@importFrom' roxygen tags into a single package-level block in 'latentFactoR.R'
- INTERNAL: cleaned up and optimized code in 'simulate_factors'
- INTERNAL: random number generation moved to C
- INTERNAL: cleaned up and optimized code in 'add_cross_loadings', 'add_local_dependence', 'add_method_factors', 'add_population_error', and 'add_wording_effects' to match 'simulate_factors' (uses C-based random number generation)
- FIX: 'add_cross_loadings' could error with "missing value where TRUE/FALSE needed" when a factor was randomly assigned zero cross-loadings (e.g., via 'proportion_cross_loadings_range')
- FIX: 'proportion_negative_range' in 'add_method_factors' was documented but not implemented; it now works as documented
- FIX: documentation in 'simulate_factors' was missing the 'continuous_data' return value and the 'cross_loadings'/'categorical_limit' parameters list, and had the loadings matrix dimensions reversed
latentFactoR 0.0.7 (2025-11-03)
- FIX: error check for positive definite in 'add_population_error'
- FIX: correction when adding negative skew for continuous data (internal function: 'skew_continuous')
- UPDATE: better ML population error in 'add_population_error' (update from {bifactor})
- UPDATE: some optimizations to 'add_population_error'
- UPDATE: some optimiztaions to 'NEST'
latentFactoR 0.0.6 (2024-04-18)
- MOVE: 'add_wording_effects' methods moved from 'utils-latentFactoR' to 'add_wording_effects-helpers' to facilitate ease of finding code (no observable changes to the user)
- FIX: categories greater than 7 were not previously allowed (they are now)
- FIX: correlations in 'EKC' were not used appropriately and led to an error
- UPDATE: switched on "Byte-Compile" (byte-compiles on our end and not when the user installs)
latentFactoR 0.0.5
- FIX: bug in skew when only providing 1 value
- FIX: further correction to 'EKC' (uses 'cumsum(eigenvalues)' rather than 'sum(eigenvalues)')
- ADD: 'add_wording_effects' will add wording effects such as acquiescence, difficulty, random careless, straight line, or some combination of the four to a simulated factor model
- ADD: 'ESEM' to perform Exploratory Structural Equation Modeling using {lavaan} (allows wording effects to be estimated)
- FIX: 'factor_forest' uses raw data in 'psych::fa.parallel' rather than correlation matrix
- ADD: internal functions for computing effect sizes across conditions are included (see 'simulation_helpers.R')
- ADD: skew in 'add_local_dependence' is guaranteed to be same direction for locally dependent variables
latentFactoR 0.0.4 (2022-11-22)
- FIX: correction to ‘EKC' (used 'factor_forest'’s version of EKC which used reference values rather than eigenvalues); 'EKC' uses eigenvalues whereas 'factor_forest' uses reference (which was what the random forest model was trained on)
- FIX: cross-loadings with population error are screened for communalities >= 0.80; communalities near 0.90 prior to population error would often get stuck and not converge
- ADD: 'skew' argument for continuous data
latentFactoR 0.0.3 (2022-10-13)
- ADD: 'add_population_error' will add population error, using {bifactor}, to a simulated factor model
- ADD: ‘data_to_zipfs' to transform data to Zipf’s distribution from 'simulate_factors'
- ADD: ‘obtain_zipfs_parameters' to obtain a dataset’s best fitting Zipf's distribution parameters
- ADD: 'NEST' Next Eigenvalue Sufficiency Test to estimate dimensions
- ADD: 'estimate_dimensions' provides a single function to estimate dimensions using state-of-the-art methods: Exploratory Graph Analysis (EGA),
Exploratory Factor Analysis with out-of-sample prediction (FSPE), Next Eigenvalue Sufficiency Test (NEST), parallel analysis (PA), and Factor Forest
latentFactoR 0.0.2 (2022-09-09)
- UPDATE: skews for categories now include 6 categories
- UPDATE: available skew increments are now 0.05 (were 0.50 previously)
- ADD: 'add_local_dependence' will add local dependence between variables from a simulated factor model
Initial commit version 0.0.1