{
  "_id": "6a340ab33efcd9bda43bcef8",
  "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-06-18 13:03:10 UTC",
  "RemoteUrl": "https://github.com/beckerbenj/eatata",
  "RemoteRef": "HEAD",
  "RemoteSha": "ee4366383130a7e02f82664d1e3f1e379435e175",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-18 15:04:24 UTC",
    "User": "root"
  },
  "Author": "Benjamin Becker [aut, cre],\nDries Debeer [aut],\nGrewers Edna [ctb]",
  "Maintainer": "Benjamin Becker <b.becker@iqb.hu-berlin.de>",
  "MD5sum": "a4ad2d7dfbab51c6760e2b9f4af65d58",
  "_user": "beckerbenj",
  "_type": "src",
  "_file": "eatATA_1.1.2.9001.tar.gz",
  "_fileid": "c8bba013983be5aed587c06f6f176871e637a54d0c6a55161bd3ce7a3a466135",
  "_filesize": 402816,
  "_sha256": "c8bba013983be5aed587c06f6f176871e637a54d0c6a55161bd3ce7a3a466135",
  "_created": "2026-06-18T15:04:24.000Z",
  "_published": "2026-06-18T15:11:47.659Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 82163220711,
      "time": 182,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7727418230"
    },
    {
      "job": 82163220760,
      "time": 140,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7727396611"
    },
    {
      "job": 82163220656,
      "time": 109,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7727381969"
    },
    {
      "job": 82163220700,
      "time": 126,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7727390008"
    },
    {
      "job": 82162020335,
      "time": 298,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7727327672"
    },
    {
      "job": 82163220792,
      "time": 110,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7727382346"
    },
    {
      "job": 82163220798,
      "time": 107,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7727380493"
    },
    {
      "job": 82163220873,
      "time": 113,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7727384072"
    },
    {
      "job": 82163220795,
      "time": 386,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7727519468"
    }
  ],
  "_buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/beckerbenj/eatata",
  "_commit": {
    "id": "ee4366383130a7e02f82664d1e3f1e379435e175",
    "author": "Edna Grewers <135963233+grewered@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #9 from beckerbenj/input_validation\n\nInput validation",
    "time": 1781787790
  },
  "_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
    },
    {
      "week": "2026-25",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 4,
  "_contributors": [
    {
      "user": "beckerbenj",
      "count": 170,
      "uuid": 35807186
    },
    {
      "user": "ddebeer",
      "count": 68,
      "uuid": 48486801
    },
    {
      "user": "grewered",
      "count": 2,
      "uuid": 135963233
    }
  ],
  "_userbio": {
    "uuid": 35807186,
    "type": "user",
    "name": "Benjamin Becker",
    "followers": 17
  },
  "_downloads": {
    "count": 308,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/eatATA"
  },
  "_devurl": "https://github.com/beckerbenj/eatata",
  "_pkgdown": "https://beckerbenj.github.io/eatATA/",
  "_searchresults": 32,
  "_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.362482474751175,
  "_indexed": true,
  "_nocasepkg": "eatata",
  "_universes": [
    "beckerbenj"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.2.9001",
      "date": "2026-06-18T15:07:35.000Z",
      "distro": "noble",
      "commit": "ee4366383130a7e02f82664d1e3f1e379435e175",
      "fileid": "644f600e59f9165befb98512e5d32e71913799b29d2aad114a524ca0194cd3d6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1.2.9001",
      "date": "2026-06-18T15:06:48.000Z",
      "distro": "noble",
      "commit": "ee4366383130a7e02f82664d1e3f1e379435e175",
      "fileid": "afa25fe6df298fbabac5a49ffb360e3c2f0dda18b005d096208af38e721e249e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.2.9001",
      "date": "2026-06-18T15:06:22.000Z",
      "commit": "ee4366383130a7e02f82664d1e3f1e379435e175",
      "fileid": "0a8e8cae36a4869538f9f4fb50f62144b27f7d686ffe6e3b1d5268b51893f2b4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.1.2.9001",
      "date": "2026-06-18T15:06:36.000Z",
      "commit": "ee4366383130a7e02f82664d1e3f1e379435e175",
      "fileid": "e037bcd2846859d7dc0d491008224b8cd38ad9c2d802e706b0974908f8bdbc88",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.2.9001",
      "date": "2026-06-18T15:06:37.000Z",
      "commit": "ee4366383130a7e02f82664d1e3f1e379435e175",
      "fileid": "35fb317180ea63db339fc18928522bc31b3a23862173088743d6e862f7a85ecb",
      "status": "success",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.2.9001",
      "date": "2026-06-18T15:06:04.000Z",
      "commit": "ee4366383130a7e02f82664d1e3f1e379435e175",
      "fileid": "4e22fe07c5cb9bb8da30ca9a873899b44f41a555e5098421ca731fc153a53892",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1.2.9001",
      "date": "2026-06-18T15:06:13.000Z",
      "commit": "ee4366383130a7e02f82664d1e3f1e379435e175",
      "fileid": "719a68e3f2643c58f9503c20aefbaae908865a5929b31900049887685df1c241",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.1.2.9001",
      "date": "2026-06-18T15:11:00.000Z",
      "commit": "ee4366383130a7e02f82664d1e3f1e379435e175",
      "fileid": "9293cc99edd16039ba38e3e5adde79f13f040947c7c0276f0ffdb4282eb1aa1c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/beckerbenj/actions/runs/27768570096"
    }
  ]
}