Performs automatic creation of short forms of scales with an
ant colony optimization algorithm and a Tabu search. As implemented in the
package, the ant colony algorithm randomly selects items to build a model of
a specified length, then updates the probability of item selection according
to the fit of the best model within each set of searches. The algorithm
continues until the same items are selected by multiple ants a given number
of times in a row. On the other hand, the Tabu search changes one parameter at
a time to be either free, constrained, or fixed while keeping track of the
changes made and putting changes that result in worse fit in a "tabu" list
so that the algorithm does not revisit them for some number of searches.
See Leite, Huang, & Marcoulides (2008)
antcolony_plotwas replaced with
plot.antcolony(aka, a plot method)
lavaan::cfa(). However, there are plans for more user control in the modelling process to allow for other model defaults.
antcolony_lavaan()function has been modified so that it no longer will print a
summaryfile.txt. Rather, the function maintains the old summary file as an internal object and returns it after completion,
antcolony_plot()takes the results from
antcolony_lavaan()and creates three graphs: (a) a plot showing how pheremone levels change as the algorithm progresses, (b) a plot showing how the mean value of the regression coefficients changes as the algorithm progresses, and (c) a plot showing how the mean variance explained changes as the algorithm progresses.
tabuShortForm()) are capable of handling bifactor models.
bifactorlogical option. No guarantee that an arbitrary model will work beyond those currently tested.
search.prep()for most of the heavy lifting and various helper and internal functions. The code was taken primarily from Carl Falk and Katerina Marcoulides (see Marcoulides, K. M., & Falk, C. F. (2018). Model Specification Searches in Structural Equation Modeling with R. Structural Equation Modeling: A Multidisciplinary Journal, 1-8.). These have been tested in limited circumstances, so please report any bugs as you find them!