{
  "_id": "6a229a50cd65a98ecbd57543",
  "Package": "ShortForm",
  "Type": "Package",
  "Title": "Automatic Short Form Creation",
  "Version": "0.5.8",
  "Date": "2026-05-06",
  "Authors@R": "c(person(\"Anthony\", \"Raborn\", email = \"anthony.w.raborn@gmail.com\", \nrole = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-8083-4739\")),\nperson(\"Walter\", \"Leite\", email = \"Walter.Leite@coe.ufl.edu\", role = \"aut\"))",
  "Description": "Performs automatic creation of short forms of scales with\nan ant colony optimization algorithm and a Tabu search. As\nimplemented in the package, the ant colony algorithm randomly\nselects items to build a model of a specified length, then\nupdates the probability of item selection according to the fit\nof the best model within each set of searches. The algorithm\ncontinues until the same items are selected by multiple ants a\ngiven number of times in a row. On the other hand, the Tabu\nsearch changes one parameter at a time to be either free,\nconstrained, or fixed while keeping track of the changes made\nand putting changes that result in worse fit in a \"tabu\" list\nso that the algorithm does not revisit them for some number of\nsearches. See Leite, Huang, & Marcoulides (2008)\n<doi:10.1080/00273170802285743> for an applied example of the\nant colony algorithm, and Marcoulides & Falk (2018)\n<doi:10.1080/10705511.2017.1409074> for an applied example of\nthe Tabu search.",
  "License": "LGPL (>= 2.0, < 3) | Mozilla Public License",
  "LazyData": "TRUE",
  "URL": "https://github.com/AnthonyRaborn/ShortForm",
  "BugReports": "https://github.com/AnthonyRaborn/ShortForm/issues",
  "Encoding": "UTF-8",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://anthonyraborn.r-universe.dev",
  "Date/Publication": "2026-05-06 05:08:52 UTC",
  "RemoteUrl": "https://github.com/anthonyraborn/shortform",
  "RemoteRef": "HEAD",
  "RemoteSha": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-05 09:39:57 UTC",
    "User": "root"
  },
  "Author": "Anthony Raborn [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-8083-4739>),\nWalter Leite [aut]",
  "Maintainer": "Anthony Raborn <anthony.w.raborn@gmail.com>",
  "MD5sum": "0f9e4f61bb17340357564ffebb45e181",
  "_user": "anthonyraborn",
  "_type": "src",
  "_file": "ShortForm_0.5.8.tar.gz",
  "_fileid": "25347b4045861214988ccad37f5143abfb5e2893ab5a7f21c63750d45415b9bb",
  "_filesize": 324704,
  "_sha256": "25347b4045861214988ccad37f5143abfb5e2893ab5a7f21c63750d45415b9bb",
  "_created": "2026-06-05T09:39:57.000Z",
  "_published": "2026-06-05T09:43:44.613Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79702757523,
      "time": 189,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7433593917"
    },
    {
      "job": 79702757575,
      "time": 187,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7433592554"
    },
    {
      "job": 79702757491,
      "time": 105,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7433566893"
    },
    {
      "job": 79702757521,
      "time": 102,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7433565849"
    },
    {
      "job": 79702290783,
      "time": 186,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7433532938"
    },
    {
      "job": 79702757466,
      "time": 113,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7433569553"
    },
    {
      "job": 79702757563,
      "time": 147,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7433582064"
    },
    {
      "job": 79702757514,
      "time": 100,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7433565374"
    },
    {
      "job": 79702757473,
      "time": 117,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7433570590"
    }
  ],
  "_buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/anthonyraborn/shortform",
  "_commit": {
    "id": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
    "author": "Anthony W. Raborn <anthony.w.raborn@gmail.com>",
    "committer": "Anthony W. Raborn <anthony.w.raborn@gmail.com>",
    "message": "updated comments\n",
    "time": 1778044132
  },
  "_maintainer": {
    "name": "Anthony Raborn",
    "email": "anthony.w.raborn@gmail.com",
    "login": "anthonyraborn",
    "bluesky": "@anthony-raborn.bsky.social",
    "orcid": "0000-0002-8083-4739",
    "description": "",
    "uuid": 32717855
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "lavaan",
      "version": ">= 0.5-22",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "doSNOW",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "foreach",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "MplusAutomation",
      "version": ">= 0.7",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    }
  ],
  "_owner": "anthonyraborn",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-18",
      "n": 7
    },
    {
      "week": "2026-19",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.5.7",
      "date": "2026-05-03"
    },
    {
      "name": "v0.5.8",
      "date": "2026-05-06"
    }
  ],
  "_topics": [
    "ant-colony-optimization",
    "machine-learning-algorithms",
    "shortform",
    "simulated-annealing",
    "tabu-search"
  ],
  "_stars": 10,
  "_contributors": [
    {
      "user": "anthonyraborn",
      "count": 287,
      "uuid": 32717855
    }
  ],
  "_userbio": {
    "uuid": 32717855,
    "type": "user",
    "name": "Anthony Raborn"
  },
  "_downloads": {
    "count": 360,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ShortForm"
  },
  "_devurl": "https://github.com/anthonyraborn/shortform",
  "_searchresults": 13,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/ShortForm.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/anthonyraborn/shortform",
  "_realowner": "anthonyraborn",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.3.0",
      "date": "2017-10-20"
    },
    {
      "version": "0.4.0",
      "date": "2018-03-30"
    },
    {
      "version": "0.4.1",
      "date": "2018-06-13"
    },
    {
      "version": "0.4.2",
      "date": "2018-10-17"
    },
    {
      "version": "0.4.3",
      "date": "2019-08-07"
    },
    {
      "version": "0.4.4",
      "date": "2019-10-10"
    },
    {
      "version": "0.4.5",
      "date": "2020-02-25"
    },
    {
      "version": "0.4.6",
      "date": "2020-03-13"
    },
    {
      "version": "0.5.2",
      "date": "2023-03-08"
    },
    {
      "version": "0.5.3",
      "date": "2023-12-13"
    },
    {
      "version": "0.5.4",
      "date": "2024-05-22"
    },
    {
      "version": "0.5.5",
      "date": "2024-06-05"
    },
    {
      "version": "0.5.6",
      "date": "2024-11-27"
    },
    {
      "version": "0.5.7",
      "date": "2026-05-03"
    },
    {
      "version": "0.5.8",
      "date": "2026-05-06"
    }
  ],
  "_exports": [
    "add.param",
    "antcolony.lavaan",
    "antcolony.mplus",
    "plot",
    "refit.model",
    "search.prep",
    "show",
    "simulatedAnnealing",
    "summary",
    "tabu.sem",
    "tabuShortForm"
  ],
  "_datasets": [
    {
      "name": "exampleAntModel",
      "title": "Model syntax for the example in the 'antcolony.lavaan' function.",
      "object": "exampleAntModel",
      "class": [
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "shortExampleAntModel",
      "title": "Model syntax for the short example in the 'antcolony.lavaan' function.",
      "object": "shortExampleAntModel",
      "class": [
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "simulated_test_data",
      "title": "A simulated data set based on a standardized test.",
      "object": "simulated_test_data",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Outcome",
        "TrueAbility",
        "Item1",
        "Item2",
        "Item3",
        "Item4",
        "Item5",
        "Item6",
        "Item7",
        "Item8",
        "Item9",
        "Item10",
        "Item11",
        "Item12",
        "Item13",
        "Item14",
        "Item15",
        "Item16",
        "Item17",
        "Item18",
        "Item19",
        "Item20",
        "Item21",
        "Item22",
        "Item23",
        "Item24",
        "Item25",
        "Item26",
        "Item27",
        "Item28",
        "Item29",
        "Item30",
        "Item31",
        "Item32",
        "Item33",
        "Item34",
        "Item35",
        "Item36",
        "Item37",
        "Item38",
        "Item39",
        "Item40",
        "Item41",
        "Item42",
        "Item43",
        "Item44",
        "Item45",
        "Item46",
        "Item47",
        "Item48",
        "Item49",
        "Item50",
        "Item51",
        "Item52",
        "Item53",
        "Item54",
        "Item55",
        "Item56"
      ],
      "rows": 1000,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "dot-onAttach",
      "title": "Package Attach Hook Function",
      "topics": [
        ".onAttach"
      ]
    },
    {
      "page": "ACO-class",
      "title": "An S4 class for the Ant Colony Optimization Algorithm",
      "topics": [
        "ACO-class"
      ]
    },
    {
      "page": "add.param",
      "title": "Adds a parameter to the given search table. Checks whether parameter is involved in any (in)equality constraints in a fitted lavaan model",
      "concept": [
        "Tabu Search"
      ],
      "topics": [
        "add.param"
      ]
    },
    {
      "page": "antcolony.lavaan",
      "title": "A function to implement the ant colony optimization algorithm for short form specification searches with the package lavaan.",
      "concept": [
        "Ant Colony Algorithms"
      ],
      "topics": [
        "antcolony.lavaan"
      ]
    },
    {
      "page": "antcolony.mplus",
      "title": "A function to implement the ant colony optimization algorithm for short form specification searches, either using MPlus directly via 'system' calls or using Mplus indirectly with the package MplusAutomation.",
      "concept": [
        "Ant Colony Algorithms"
      ],
      "topics": [
        "antcolony.mplus"
      ]
    },
    {
      "page": "exampleAntModel",
      "title": "Model syntax for the example in the 'antcolony.lavaan' function.",
      "topics": [
        "exampleAntModel"
      ]
    },
    {
      "page": "modelCheck-class",
      "title": "An S4 class for the modelCheck object",
      "topics": [
        "modelCheck-class"
      ]
    },
    {
      "page": "plot-ACO-ANY-method",
      "title": "Plot method for class `ACO`",
      "topics": [
        "plot,ACO,ANY-method"
      ]
    },
    {
      "page": "plot-SA-ANY-method",
      "title": "Plot method for class `SA`",
      "topics": [
        "plot,SA,ANY-method"
      ]
    },
    {
      "page": "plot-TS-ANY-method",
      "title": "Plot method for class `TS`",
      "topics": [
        "plot,TS,ANY-method"
      ]
    },
    {
      "page": "refit.model",
      "title": "Given a fitted lavaan model and a search table, refits the model using the search table as specifying what changes should be done (parameters fixed/freed).",
      "concept": [
        "Tabu Search"
      ],
      "topics": [
        "refit.model"
      ]
    },
    {
      "page": "SA-class",
      "title": "An S4 class for the Simulated Annealing Algorithm",
      "topics": [
        "SA-class"
      ]
    },
    {
      "page": "search.prep",
      "title": "Given a fitted lavaan model (e.g., CFA), prepares a table that contains parameters that can be fixed/freed as part of a model specification search.",
      "concept": [
        "Tabu Search"
      ],
      "topics": [
        "search.prep"
      ]
    },
    {
      "page": "shortExampleAntModel",
      "title": "Model syntax for the short example in the 'antcolony.lavaan' function.",
      "topics": [
        "shortExampleAntModel"
      ]
    },
    {
      "page": "ShortForm",
      "title": "'ShortForm' package",
      "topics": [
        "ShortForm-package",
        "ShortForm"
      ]
    },
    {
      "page": "ShortFormStartup",
      "title": "Create Package Startup Message",
      "topics": [
        "ShortFormStartup"
      ]
    },
    {
      "page": "show-ACO-method",
      "title": "Print method for class `ACO`",
      "topics": [
        "show,ACO-method"
      ]
    },
    {
      "page": "show-SA-method",
      "title": "Print method for class `SA`",
      "topics": [
        "show,SA-method"
      ]
    },
    {
      "page": "show-TS-method",
      "title": "Print method for class `TS`",
      "topics": [
        "show,TS-method"
      ]
    },
    {
      "page": "simulated_test_data",
      "title": "A simulated data set based on a standardized test.",
      "topics": [
        "simulated_test_data"
      ]
    },
    {
      "page": "simulatedAnnealing",
      "title": "An adaptation of the simulated annealing algorithm for psychometric models.",
      "topics": [
        "simulatedAnnealing"
      ]
    },
    {
      "page": "summary-ACO-method",
      "title": "Summary method for class `ACO`",
      "topics": [
        "summary,ACO-method"
      ]
    },
    {
      "page": "summary-SA-method",
      "title": "Summary method for class `SA`",
      "topics": [
        "summary,SA-method"
      ]
    },
    {
      "page": "summary-TS-method",
      "title": "Summary method for class `TS`",
      "topics": [
        "summary,TS-method"
      ]
    },
    {
      "page": "tabu.sem",
      "title": "Given a fitted lavaan model, a search table, and an objective criterion, performs a Tabu model specification search. Currently only supports neighbors that are 1 move away from the current model.",
      "topics": [
        "tabu.sem"
      ]
    },
    {
      "page": "tabuShortForm",
      "title": "Short Form Tabu Search",
      "topics": [
        "tabuShortForm"
      ]
    },
    {
      "page": "TS-class",
      "title": "An S4 class for the Tabu Search Algorithm",
      "topics": [
        "TS-class"
      ]
    }
  ],
  "_readme": "https://github.com/anthonyraborn/shortform/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "codetools",
    "doSNOW",
    "foreach",
    "glue",
    "iterators",
    "lavaan",
    "lifecycle",
    "magrittr",
    "MASS",
    "mnormt",
    "numDeriv",
    "pbivnorm",
    "quadprog",
    "rlang",
    "snow",
    "stringi",
    "stringr",
    "vctrs"
  ],
  "_score": 4.113943352306837,
  "_indexed": true,
  "_nocasepkg": "shortform",
  "_universes": [
    "anthonyraborn"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.5.8",
      "date": "2026-06-05T09:42:47.000Z",
      "distro": "noble",
      "commit": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
      "fileid": "800d13eae5920ccb8bd6b8faf297cbebf69096bfef0892d1c84044cdf518bd59",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.5.8",
      "date": "2026-06-05T09:42:44.000Z",
      "distro": "noble",
      "commit": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
      "fileid": "1d8e0a9252934e14e93d9a3542010a86c2b179a71603051dcfec3cabcd3d207a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.5.8",
      "date": "2026-06-05T09:41:31.000Z",
      "commit": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
      "fileid": "867d1452c869dbe60845db9d3ecbcde417870a8545ebdfbe3bb2fb73e219af7b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.5.8",
      "date": "2026-06-05T09:41:29.000Z",
      "commit": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
      "fileid": "184dd74cb50e318fd1db6a7721b44cfa363df53860b3b3be7a14daa893d49e57",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.5.8",
      "date": "2026-06-05T09:42:08.000Z",
      "commit": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
      "fileid": "7a3e0710ffe1837e4353c98e8f59dceb077491c0782b3a0cfb77ed8757f12951",
      "status": "success",
      "buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.5.8",
      "date": "2026-06-05T09:42:03.000Z",
      "commit": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
      "fileid": "3ecd3e668c084a7898eda0efcc8350809ae1f515fc434cd39b1b29bef9e4e12c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.5.8",
      "date": "2026-06-05T09:41:07.000Z",
      "commit": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
      "fileid": "2d054ab4759fd9e4c7ca02c02232772a1bcf8cfb6ddd51a8761f1326e3b107a1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.5.8",
      "date": "2026-06-05T09:41:25.000Z",
      "commit": "ee9bcf078b0aa03d9a3c8951f67a9f5e98d7370a",
      "fileid": "124c81f9e57f858033fb07676885720cd04d357282adfeaaf77999c9009fd146",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/anthonyraborn/actions/runs/27007377030"
    }
  ]
}