{
  "_id": "6a1be81c1d7bb097a0a1bcf0",
  "Package": "eatATA",
  "Type": "Package",
  "Title": "Create Constraints for Small Test Assembly Problems",
  "Version": "1.1.2.9001",
  "Authors@R": "c(\nperson(\"Benjamin\", \"Becker\", email = \"b.becker@iqb.hu-berlin.de\", role = c(\"aut\", \"cre\")),\nperson(\"Dries\", \"Debeer\", email = \"dries.debeer@kuleuven.be\", role = c(\"aut\")),\nperson(\"Grewers\", \"Edna\", email = \"edna.grewers@hu-berlin.de\", role = c(\"ctb\")))",
  "Description": "Provides simple functions to create constraints for small\ntest assembly problems (e.g. van der Linden (2005, ISBN:\n978-0-387-29054-6)) using sparse matrices. Currently, 'GLPK',\n'lpSolve', 'Symphony', and 'Gurobi' are supported as solvers.\nThe 'gurobi' package is not available from any mainstream\nrepository; see <https://www.gurobi.com/downloads/>.",
  "License": "GPL",
  "URL": "https://github.com/beckerbenj/eatATA,\nhttps://beckerbenj.github.io/eatATA/",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "7.3.2",
  "RdMacros": "mathjaxr",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "libglpk-dev",
  "Repository": "https://beckerbenj.r-universe.dev",
  "Date/Publication": "2026-04-01 14:56:53 UTC",
  "RemoteUrl": "https://github.com/beckerbenj/eatata",
  "RemoteRef": "HEAD",
  "RemoteSha": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-31 07:08:46 UTC",
    "User": "root"
  },
  "Author": "Benjamin Becker [aut, cre],\nDries Debeer [aut],\nGrewers Edna [ctb]",
  "Maintainer": "Benjamin Becker <b.becker@iqb.hu-berlin.de>",
  "MD5sum": "525d9e148986d7ddcb1c9bdb143069c6",
  "_user": "beckerbenj",
  "_type": "src",
  "_file": "eatATA_1.1.2.9001.tar.gz",
  "_fileid": "63959a60bf7225ff20ea795123aa8c5ca6cca35bab7a8e8e823a5b42f2c33fd5",
  "_filesize": 400394,
  "_sha256": "63959a60bf7225ff20ea795123aa8c5ca6cca35bab7a8e8e823a5b42f2c33fd5",
  "_created": "2026-05-31T07:08:46.000Z",
  "_published": "2026-05-31T07:49:48.464Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78707673339,
      "time": 133,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7314689712"
    },
    {
      "job": 78707673357,
      "time": 155,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314692213"
    },
    {
      "job": 78707673355,
      "time": 167,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7314957629"
    },
    {
      "job": 78707673333,
      "time": 176,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314951943"
    },
    {
      "job": 78707472814,
      "time": 215,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314676305"
    },
    {
      "job": 78707673331,
      "time": 139,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314690337"
    },
    {
      "job": 78707673350,
      "time": 148,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7314691362"
    },
    {
      "job": 78707673349,
      "time": 95,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7314685886"
    },
    {
      "job": 78707673348,
      "time": 101,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314686529"
    }
  ],
  "_buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/beckerbenj/eatata",
  "_commit": {
    "id": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
    "author": "Edna Grewers <135963233+grewered@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #8 from beckerbenj/support_tibbles-dt\n\nAdd converting tibbles and data.tables in input validation",
    "time": 1775055413
  },
  "_maintainer": {
    "name": "Benjamin Becker",
    "email": "b.becker@iqb.hu-berlin.de"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.6.0",
      "role": "Depends"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "Rglpk",
      "role": "Imports"
    },
    {
      "package": "mathjaxr",
      "role": "Imports"
    },
    {
      "package": "lpSolve",
      "role": "Imports"
    },
    {
      "package": "checkmate",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 2.1.0",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "readxl",
      "role": "Suggests"
    },
    {
      "package": "Rsymphony",
      "role": "Suggests"
    },
    {
      "package": "gurobi",
      "role": "Enhances"
    }
  ],
  "_owner": "beckerbenj",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-27",
      "n": 1
    },
    {
      "week": "2025-37",
      "n": 1
    },
    {
      "week": "2025-46",
      "n": 1
    },
    {
      "week": "2025-49",
      "n": 2
    },
    {
      "week": "2026-14",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 4,
  "_contributors": [
    {
      "user": "beckerbenj",
      "count": 170,
      "uuid": 35807186
    },
    {
      "user": "ddebeer",
      "count": 68,
      "uuid": 48486801
    },
    {
      "user": "grewered",
      "count": 1,
      "uuid": 135963233
    }
  ],
  "_userbio": {
    "uuid": 35807186,
    "type": "user",
    "name": "Benjamin Becker"
  },
  "_downloads": {
    "count": 248,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/eatATA"
  },
  "_devurl": "https://github.com/beckerbenj/eatata",
  "_pkgdown": "https://beckerbenj.github.io/eatATA/",
  "_searchresults": 19,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/eatATA.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/beckerbenj/eatata",
  "_realowner": "beckerbenj",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.7.0",
      "date": "2020-09-15"
    },
    {
      "version": "0.9.1",
      "date": "2020-12-07"
    },
    {
      "version": "0.10.0",
      "date": "2021-02-10"
    },
    {
      "version": "0.11.1",
      "date": "2021-04-16"
    },
    {
      "version": "0.11.2",
      "date": "2021-05-03"
    },
    {
      "version": "1.0.0",
      "date": "2021-07-06"
    },
    {
      "version": "1.1.0",
      "date": "2022-09-26"
    },
    {
      "version": "1.1.1",
      "date": "2022-11-28"
    },
    {
      "version": "1.1.2",
      "date": "2023-12-12"
    }
  ],
  "_exports": [
    "acrossFormsConstraint",
    "analyzeBlockExclusion",
    "analyzeComplexBlockExclusion",
    "appendSolution",
    "autoItemValuesMinMaxConstraint",
    "calculateExpectedRT",
    "calculateExpectedRTvar",
    "calculateIIF",
    "cappedMaximinObjective",
    "combineConstraints",
    "computeTargetValues",
    "depletePoolConstraint",
    "dummiesToFactor",
    "getMean2PLN",
    "getMean3PLN",
    "getVar2PLN",
    "getVar3PLN",
    "inspectSolution",
    "itemCategoryConstraint",
    "itemCategoryDeviationConstraint",
    "itemCategoryMaxConstraint",
    "itemCategoryMinConstraint",
    "itemCategoryRangeConstraint",
    "itemExclusionConstraint",
    "itemInclusionConstraint",
    "itemsPerFormConstraint",
    "itemTuples",
    "itemUsageConstraint",
    "itemValuesConstraint",
    "itemValuesDeviationConstraint",
    "itemValuesMaxConstraint",
    "itemValuesMinConstraint",
    "itemValuesRangeConstraint",
    "matrixExclusionTuples",
    "maximinObjective",
    "maxObjective",
    "minimaxObjective",
    "minObjective",
    "stemInclusionTuples",
    "useSolver"
  ],
  "_datasets": [
    {
      "name": "items_diao",
      "title": "Small simulated item pool example.",
      "object": "items_diao",
      "class": [
        "data.frame"
      ],
      "fields": [
        "item",
        "a",
        "b",
        "c",
        "Category"
      ],
      "rows": 165,
      "table": true,
      "tojson": true
    },
    {
      "name": "items_lsa",
      "title": "Simulated item pool example.",
      "object": "items_lsa",
      "class": [
        "data.frame"
      ],
      "fields": [
        "testlet",
        "item",
        "level",
        "format",
        "frequency",
        "infit",
        "time",
        "anchor"
      ],
      "rows": 209,
      "table": true,
      "tojson": true
    },
    {
      "name": "items_mini",
      "title": "Small simulated item pool example.",
      "object": "items_mini",
      "class": [
        "data.frame"
      ],
      "fields": [
        "item",
        "format",
        "time",
        "difficulty"
      ],
      "rows": 30,
      "table": true,
      "tojson": true
    },
    {
      "name": "items_pilot",
      "title": "Small simulated item pool example.",
      "object": "items_pilot",
      "class": [
        "data.frame"
      ],
      "fields": [
        "item",
        "diffCategory",
        "format",
        "domain",
        "time",
        "exclusions"
      ],
      "rows": 100,
      "table": true,
      "tojson": true
    },
    {
      "name": "items_vera",
      "title": "Small artificial item pool example.",
      "object": "items_vera",
      "class": [
        "data.frame"
      ],
      "fields": [
        "item",
        "exclusions",
        "time",
        "subitems",
        "MC",
        "CMC",
        "short_answer",
        "open",
        "diff_1",
        "diff_2",
        "diff_3",
        "diff_4",
        "diff_5"
      ],
      "rows": 80,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "acrossFormsConstraint",
      "title": "Constrain the sum of item values across multiple forms.",
      "topics": [
        "acrossFormsConstraint"
      ]
    },
    {
      "page": "analyzeBlockExclusion",
      "title": "Analyze block exclusiveness",
      "topics": [
        "analyzeBlockExclusion"
      ]
    },
    {
      "page": "analyzeComplexBlockExclusion",
      "title": "Analyze complex block exclusiveness",
      "topics": [
        "analyzeComplexBlockExclusion"
      ]
    },
    {
      "page": "appendSolution",
      "title": "Append a 'useSolver' output",
      "topics": [
        "appendSolution"
      ]
    },
    {
      "page": "autoItemValuesMinMaxConstraint",
      "title": "Create single value constraints with minimum and maximum.",
      "topics": [
        "autoItemValuesMinMaxConstraint"
      ]
    },
    {
      "page": "get_mean_3PLN",
      "title": "Calculate Cumulants Lognormal Response Time Distribution",
      "topics": [
        "calculateExpectedRT",
        "calculateExpectedRTvar"
      ]
    },
    {
      "page": "calculateIIF",
      "title": "Calculate Item Information Function",
      "topics": [
        "calculateIIF"
      ]
    },
    {
      "page": "cappedMaximinObjective",
      "title": "Capped Maximin Constraint.",
      "topics": [
        "cappedMaximinObjective"
      ]
    },
    {
      "page": "combineConstraints",
      "title": "Combine constraints",
      "topics": [
        "combineConstraints"
      ]
    },
    {
      "page": "computeTargetValues",
      "title": "Compute target values based on the item pool.",
      "topics": [
        "computeTargetValues",
        "computeTargetValues.default",
        "computeTargetValues.factor"
      ]
    },
    {
      "page": "depletePoolConstraint",
      "title": "Use complete item pool.",
      "topics": [
        "depletePoolConstraint"
      ]
    },
    {
      "page": "dummiesToFactor",
      "title": "Convert dummy variables to factor.",
      "topics": [
        "dummiesToFactor"
      ]
    },
    {
      "page": "getMean3PLN",
      "title": "Calculate Cumulants Lognormal Response Time Distribution",
      "topics": [
        "getMean2PLN",
        "getMean3PLN",
        "getVar2PLN",
        "getVar3PLN"
      ]
    },
    {
      "page": "inspectSolution",
      "title": "Inspect a 'useSolver' output",
      "topics": [
        "inspectSolution"
      ]
    },
    {
      "page": "itemCategoryConstraint",
      "title": "Create item category constraints.",
      "topics": [
        "itemCategoryConstraint"
      ]
    },
    {
      "page": "itemCategoryRangeConstraint",
      "title": "Create item category constraints with minimum and maximum.",
      "topics": [
        "itemCategoryDeviationConstraint",
        "itemCategoryMaxConstraint",
        "itemCategoryMinConstraint",
        "itemCategoryRangeConstraint"
      ]
    },
    {
      "page": "itemExclusionConstraint",
      "title": "Create item inclusion or exclusion constraints.",
      "topics": [
        "itemExclusionConstraint",
        "itemInclusionConstraint"
      ]
    },
    {
      "page": "items_diao",
      "title": "Small simulated item pool example.",
      "topics": [
        "items_diao"
      ]
    },
    {
      "page": "items_lsa",
      "title": "Simulated item pool example.",
      "topics": [
        "items_lsa"
      ]
    },
    {
      "page": "items_mini",
      "title": "Small simulated item pool example.",
      "topics": [
        "items_mini"
      ]
    },
    {
      "page": "items_pilot",
      "title": "Small simulated item pool example.",
      "topics": [
        "items_pilot"
      ]
    },
    {
      "page": "items_vera",
      "title": "Small artificial item pool example.",
      "topics": [
        "items_vera"
      ]
    },
    {
      "page": "itemsPerFormConstraint",
      "title": "Create number of items per test form constraints.",
      "topics": [
        "itemsPerFormConstraint"
      ]
    },
    {
      "page": "itemTuples",
      "title": "Create item tuples.",
      "topics": [
        "itemTuples"
      ]
    },
    {
      "page": "itemUsageConstraint",
      "title": "Create item usage constraints.",
      "topics": [
        "itemUsageConstraint"
      ]
    },
    {
      "page": "itemValuesConstraint",
      "title": "Constrain the sum of item values per form.",
      "topics": [
        "itemValuesConstraint"
      ]
    },
    {
      "page": "itemValuesRangeConstraint",
      "title": "Create single value constraints with minimum and maximum.",
      "topics": [
        "itemValuesDeviationConstraint",
        "itemValuesMaxConstraint",
        "itemValuesMinConstraint",
        "itemValuesRangeConstraint"
      ]
    },
    {
      "page": "matrixExclusionTuples",
      "title": "Create item exclusion tuples from matrix.",
      "topics": [
        "matrixExclusionTuples"
      ]
    },
    {
      "page": "maximinObjective",
      "title": "Maximin Constraint.",
      "topics": [
        "maximinObjective"
      ]
    },
    {
      "page": "maxObjective",
      "title": "Max Constraint.",
      "topics": [
        "maxObjective"
      ]
    },
    {
      "page": "minimaxObjective",
      "title": "Minimax Constraint.",
      "topics": [
        "minimaxObjective"
      ]
    },
    {
      "page": "minObjective",
      "title": "Min Constraint.",
      "topics": [
        "minObjective"
      ]
    },
    {
      "page": "stemInclusionTuples",
      "title": "Create item inclusion tuples from item stem.",
      "topics": [
        "stemInclusionTuples"
      ]
    },
    {
      "page": "useSolver",
      "title": "Use a solver for a list of constraints.",
      "topics": [
        "useSolver"
      ]
    }
  ],
  "_pkglogo": "https://github.com/beckerbenj/eatata/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/beckerbenj/eatata/raw/HEAD/README.md",
  "_rundeps": [
    "backports",
    "checkmate",
    "lattice",
    "lpSolve",
    "mathjaxr",
    "Matrix",
    "Rglpk",
    "slam"
  ],
  "_vignettes": [
    {
      "source": "overview.Rmd",
      "filename": "overview.html",
      "title": "Overview of eatATA Functionality",
      "author": "Benjamin Becker",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Item pool preparation",
        "Objective function",
        "Constraints",
        "Solver function",
        "Using the solver output",
        "Booklet exclusions"
      ],
      "created": "2021-02-04 17:01:05",
      "modified": "2022-09-26 17:29:50",
      "commits": 8
    },
    {
      "source": "minimal_example.Rmd",
      "filename": "minimal_example.html",
      "title": "Typical Use of eatATA: a Minimal Example",
      "author": "Benjamin Becker",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Item Pool",
        "Objective Function",
        "Constraints",
        "Solver usage",
        "Inspect solution"
      ],
      "created": "2021-01-26 17:44:56",
      "modified": "2021-03-26 13:20:32",
      "commits": 9
    },
    {
      "source": "use_case_pilot_study.Rmd",
      "filename": "use_case_pilot_study.html",
      "title": "Typical Use of eatATA: a Pilot Study Example",
      "author": "Benjamin Becker, Dries Debeer",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Item pool",
        "Prepare item information",
        "ATA goal",
        "Objective Function",
        "Set up constraints",
        "Run solver",
        "Inspect Solution",
        "Save as Excel"
      ],
      "created": "2021-02-04 17:01:05",
      "modified": "2025-11-14 13:27:00",
      "commits": 6
    }
  ],
  "_score": 6.056904851336473,
  "_indexed": true,
  "_nocasepkg": "eatata",
  "_universes": [
    "beckerbenj"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.2.9001",
      "date": "2026-05-31T07:10:59.000Z",
      "distro": "noble",
      "commit": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
      "fileid": "026792ed16378a103edc661875111ebe9f602db3adf6c0c062993d7f8566ebb5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1.2.9001",
      "date": "2026-05-31T07:11:02.000Z",
      "distro": "noble",
      "commit": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
      "fileid": "d5222674b07b7c72006cb8037aa9f1b5e03969b85b84d0a686c667b79e6ffdcd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.2.9001",
      "date": "2026-05-31T07:48:41.000Z",
      "commit": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
      "fileid": "edc962868d68948bb388272fd778db2c089489e346e1cbddaf691aa5ae758466",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.1.2.9001",
      "date": "2026-05-31T07:47:48.000Z",
      "commit": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
      "fileid": "881f2d26f100ea0bd16415e305d95e078e2577140fa2088963123f134557fef7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.2.9001",
      "date": "2026-05-31T07:11:23.000Z",
      "commit": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
      "fileid": "aacafcdc04930492bfe6c4aeec92a09a0fe10f3cab2cb8309ffe954ff7062629",
      "status": "success",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.2.9001",
      "date": "2026-05-31T07:11:03.000Z",
      "commit": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
      "fileid": "31f15bc5a846347873469cf15dd70616834ae75d52d8406de71e0309e90631f4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1.2.9001",
      "date": "2026-05-31T07:10:14.000Z",
      "commit": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
      "fileid": "b0e96dd50fbf4753d9836b353406fd99e20256041fa9743822c3ed3ee559dd52",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.1.2.9001",
      "date": "2026-05-31T07:10:16.000Z",
      "commit": "6d187ef81bd64b0cbb4a9df1c47d07e80a201217",
      "fileid": "90af3844d3baf8a9a0c2040decb3108de965066fbcbcfa8cb5b2178284e17fa5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/26706069854"
    }
  ]
}