The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Parameter update functions re-estimate person and item parameters
from the responses administered so far. They are the estimation engine
of a meow simulation and can form the bulk of your runtime.
For the full module contract, see
vignette("extending-meow").
Every parameter update function has the signature
update_fun <- function(pers, item, R, admin, ...) {
# ... re-estimate parameters ...
list(pers = updated_pers, item = updated_item)
}It receives the current person and item parameter estimates
(pers, item), the full response matrix
R, and the non-negative integer valued administration
matrix admin. Parameter update functions return a list with
the updated pers and item data frames. The
responses to administered items are obtained from the matrix state:
idx <- which(admin != 0, arr.ind = TRUE)
persons <- unique(idx[, 1])
items <- unique(idx[, 2])
resp <- R[idx]or, equivalently, as a long data frame with
meow_long(R, admin).
update_theta_mle() treats item parameters as fixed and
finds each respondent’s 2PL maximum likelihood ability estimate,
constrained to \([-4, 4]\). The
log-likelihood is fully vectorized over the administered responses:
update_maths_garden() updates both abilities and
difficulties with the on-the-fly Elo rule of Klinkenberg, Straatemeier,
and van der Maas (2011):
\[\hat\theta_j = \theta_j + K_\theta \sum_i (S_{ij} - E(S_{ij})), \qquad \hat b_i = b_i + K_b \sum_j (E(S_{ij}) - S_{ij}).\]
See vignette("maths-garden-update").
update_prowise_learn() updates abilities with the same
rule, but updates item difficulties through paired comparisons of
consecutively administered items, which controls rating drift (Vermeiren
et al., 2025). See vignette("prowise-learn-update").
list(pers, item) with both
objects as both data frames, even if one is unchanged.tapply(), matrix indexing) rather than looping over
respondents or items.admin matrix, but
meow_long() returns responses ordered by respondent and
then by administration order.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.