Learn R Programming

eatATA

Overview

eatATA provides a small R interface to mathematical optimization solvers specialized on solving simple automated test assembly problems (ATA). Internally, sparse matrices are used via the Matrix package. Currently supported solvers are GLPK, lpSolve, Symphony, and Gurobi. See below for a list of implemented features and feature to come.

Installation

# Install eatATA from CRAN via
install.packages("eatATA")

# Install development version from GitHub via
remotes::install_github("beckerbenj/eatATA", build_vignettes = TRUE, dependencies = TRUE)

Documentation

An extensive tutorial paper including a variety of use cases has been published here: https://doi.org/10.3390/psych3020010. Additionally, a set of vignettes describing the current functionality can be found on CRAN.

Implemented Features

eatATA is suitable for the automated test assembly of fixed linear test forms or multi-stage testing modules. For example, the following types of constraints can be set via eatATA:

  • no item overlap between test forms

  • complete item pool depletion

  • categorical and numerical constraints across test forms

  • excluding items from being together in the same booklet (item exclusions)

  • force items to be in the same test form (item inclusions)

  • force a set of items to be included in the test forms

  • various optimization constraints

Outlook

Features that might be implemented in the future:

  • taking into account hierarchical stimulus-item structures

  • adopting the ROI framework to access a larger number of solvers

If you wish to contribute to the package, please send an email to b.becker@iqb.hu-berlin.de.

Copy Link

Version

Install

install.packages('eatATA')

Monthly Downloads

310

Version

1.1.2

License

GPL

Issues

Pull Requests

Stars

Forks

Maintainer

Benjamin Becker

Last Published

December 12th, 2023

Functions in eatATA (1.1.2)

calculateExpectedRT

Calculate Cumulants Lognormal Response Time Distribution
itemCategoryRangeConstraint

Create item category constraints with minimum and maximum.
itemTuples

Create item tuples.
itemValuesConstraint

Constrain the sum of item values per form.
items_diao

Small simulated item pool example.
items_lsa

Simulated item pool example.
items_mini

Small simulated item pool example.
minObjective

Min Constraint.
minimaxObjective

Minimax Constraint.
stemInclusionTuples

Create item inclusion tuples from item stem.
useSolver

Use a solver for a list of constraints.
items_pilot

Small simulated item pool example.
maximinObjective

Maximin Constraint.
maxObjective

Max Constraint.
itemValuesRangeConstraint

Create single value constraints with minimum and maximum.
itemsPerFormConstraint

Create number of items per test form constraints.
items_vera

Small artificial item pool example.
matrixExclusionTuples

Create item exclusion tuples from matrix.
acrossFormsConstraint

Constrain the sum of item values across multiple forms.
calculateIIF

Calculate Item Information Function
autoItemValuesMinMaxConstraint

Create single value constraints with minimum and maximum.
combineConstraints

Combine constraints
analyzeBlockExclusion

Analyze block exclusiveness
depletePoolConstraint

Use complete item pool.
computeTargetValues

Compute target values based on the item pool.
appendSolution

Append a useSolver output
analyzeComplexBlockExclusion

Analyze complex block exclusiveness
cappedMaximinObjective

Capped Maximin Constraint.
itemUsageConstraint

Create item usage constraints.
itemExclusionConstraint

Create item inclusion or exclusion constraints.
dummiesToFactor

Convert dummy variables to factor.
itemCategoryConstraint

Create item category constraints.
inspectSolution

Inspect a useSolver output
getMean3PLN

Calculate Cumulants Lognormal Response Time Distribution