make_irt <- function(){
parsnip::set_new_model("irt")
# regression will essentially mean, IRT, classification will mean LCA. That will be implemented eventually.
parsnip::set_model_mode(model = "irt", mode = "regression")
parsnip::set_model_engine("irt", mode = "regression", eng = "mirt")
parsnip::set_dependency("irt", eng = "mirt", pkg = "mirt")
parsnip::set_model_arg(
model = "irt",
eng = "mirt",
parsnip = "item_type",
original = "item_type",
func = list(fun = "item_type"),
has_submodel = FALSE
)
parsnip::set_model_arg(
model = "irt",
eng = "mirt",
parsnip = "tol",
original = "tol",
func = list(fun = "tol"),
has_submodel = FALSE
)
irt <- function(mode = "regression", item_type = NULL){
args <- list(item_type = rlang::enquo(item_type))
out <- list(args = args,
eng_args = NULL,
mode = mode,
method = NULL,
engine = NULL)
class(out) <- parsnip::make_classes("irt")
out
}
parsnip::set_fit(
model = "irt",
eng = "mirt",
mode = "regression",
value = list(
interface = "matrix",
protect = c(''),
func = c(fun = "irt_mirt"),
defaults = list()
)
)
parsnip::show_model_info("irt")
parsnip::set_model_engine("irt", mode = "regression", eng = "ltm")
parsnip::set_dependency("irt", eng = "ltm", pkg = "ltm")
parsnip::set_model_arg(
model = "irt",
eng = "ltm",
parsnip = "item_type",
original = "item_type",
func = list(fun = "item_type"),
has_submodel = FALSE
)
parsnip::set_fit(
model = "irt",
eng = "ltm",
mode = "regression",
value = list(
interface = "matrix",
protect = c(''),
func = c(fun = "irt_ltm"),
defaults = list()
)
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.