abbreviate_scale | R Documentation |
This function abbreviates a scale by iteratively adding or removing items that are the least useful for predicting a criterion variable. The function can use a max loading, backwards, forwards, or genetic algorithm method to select items.
abbreviate_scale(
items,
criterion_vars = NULL,
item_target,
method = "forwards",
selection_method = "rc",
mirt_args = NULL,
save_fits = T,
seed = 1,
max_generations = 100,
population_size = 100,
mutation_rate = 0.1,
selection_ratio = 0.2,
stop_search_after_generations = 10,
include_parents = T,
difficulty_balance_groups = NULL,
residualize_loadings = F,
reliability_at = "total"
)
items |
A data frame or matrix of items |
criterion_vars |
A data frame of criterion variables |
item_target |
The number of items to retain |
method |
The method to use for item selection. Options are "backwards", "forwards", "max_loading", or "genetic". |
selection_method |
The method to use for selecting items. Options are "rc" (average of correlation with criterion variable(s) and reliability), "r" (reliability), or "c" (correlation with criterion variable(s)). |
mirt_args |
A list of arguments to pass to the mirt function |
save_fits |
Whether to save the fits and scores for each item set. This might be useful for further analysis, but it also takes up memory. |
seed |
A seed to use for reproducibility. Default is 1. |
max_generations |
The maximum number of generations to use for the genetic algorithm. Default is 100. |
population_size |
The size of the population to use for the genetic algorithm. Default is 100. |
mutation_rate |
The mutation rate to use for the genetic algorithm. Default is 0.1. |
selection_ratio |
The ratio of the population to select for the next generation. Default is 0.20. |
stop_search_after_generations |
The number of generations to wait for no improvement before stopping the search. Default is 10. |
include_parents |
Whether to include the parents in the next generation. Default is TRUE. |
difficulty_balance_groups |
The number of groups to balance difficulty across. Default is NULL. |
residualize_loadings |
Whether to residualize loadings based on difficulty for selection purposes. Default is FALSE. |
A list of results. You probably want to call GG_scale_abbreviation()
on these.
library(mirt)
#simulate some mirt data 2PL
set.seed(1)
dat = mirt::simdata(N = 1e3, itemtype = "2PL", a = runif(100, 0.5, 2), d = rnorm(100, sd = 0.5))
#fit the model
fit = mirt::mirt(dat, 1)
#scale abbreviation
short_scale = abbreviate_scale(as.data.frame(dat), method = "max_loading", item_target = 10)
#plot
GG_scale_abbreviation(short_scale)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.