{
  "_id": "6a27255724555f66ed529f08",
  "Package": "iDIFr",
  "Type": "Package",
  "Title": "Intersectional Differential Item Functioning Analysis",
  "Version": "1.0.1",
  "Authors@R": "person(\"Thomas\", \"Rogers\", email = \"thomas.rogers@britishcouncil.org\", role = c(\"aut\", \"cre\"))",
  "Description": "A toolkit for detecting Differential Item Functioning\n(DIF) using Logistic Regression (LR) as described in\nSwaminathan and Rogers (1990)\n<doi:10.1111/j.1745-3984.1990.tb00754.x>, the IRT Likelihood\nRatio Test (LRT) following Thissen, Steinberg & Wainer (1993,\nISBN:0-8058-0972-4), and model-based recursive partitioning\n(MOB) as implemented in 'strucchange' following Strobl, Kopf\nand Zeileis (2015) <doi:10.1007/s11336-013-9388-3>. Designed\nfor both standard two-group and intersectional multi-group\ndesigns, 'iDIFr' prioritises effect size reporting alongside\nstatistical significance, clear guidance on group construction,\nand interpretable output suitable for applied testing contexts.\nBuilt-in Intersectional Contrast Analysis (ICA) classifies\nitems as amplified, pure-intersection, obscured, or none by\ncomparing single-variable and intersectional analyses.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://github.com/thmsrgrs/iDIFr",
  "BugReports": "https://github.com/thmsrgrs/iDIFr/issues",
  "Config/roxygen2/version": "8.0.0",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-08 20:22:30 UTC",
    "User": "root"
  },
  "Author": "Thomas Rogers [aut, cre]",
  "Maintainer": "Thomas Rogers <thomas.rogers@britishcouncil.org>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-06-08 17:50:06 UTC",
  "RemoteUrl": "https://github.com/cran/iDIFr",
  "RemoteRef": "HEAD",
  "RemoteSha": "376f12f47c15b2f684005564973b2de65e5a4f6a",
  "MD5sum": "9c47a9ba5e4a7f8d2657eec921d8c440",
  "_user": "cran",
  "_type": "src",
  "_file": "iDIFr_1.0.1.tar.gz",
  "_fileid": "bdb063fe267a66097b144a2d2340cdb75c53041faa2c7a0e81f0de4dfa2d536e",
  "_filesize": 225578,
  "_sha256": "bdb063fe267a66097b144a2d2340cdb75c53041faa2c7a0e81f0de4dfa2d536e",
  "_created": "2026-06-08T20:22:30.000Z",
  "_published": "2026-06-08T20:25:59.799Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80188599062,
      "time": 158,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7491540697"
    },
    {
      "job": 80188599054,
      "time": 142,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7491539254"
    },
    {
      "job": 80188599052,
      "time": 140,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7491539707"
    },
    {
      "job": 80188599039,
      "time": 141,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7491538866"
    },
    {
      "job": 80187975307,
      "time": 204,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7491488085"
    },
    {
      "job": 80188599009,
      "time": 129,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7491534779"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/27164451690",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/iDIFr",
  "_commit": {
    "id": "376f12f47c15b2f684005564973b2de65e5a4f6a",
    "author": "Thomas Rogers <thomas.rogers@britishcouncil.org>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.0.1\n",
    "time": 1780941006
  },
  "_maintainer": {
    "name": "Thomas Rogers",
    "email": "thomas.rogers@britishcouncil.org"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "generics",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "strucchange",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "openxlsx",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-24",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.1",
      "date": "2026-06-08"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/iDIFr"
  },
  "_devurl": "https://github.com/thmsrgrs/idifr",
  "_searchresults": 0,
  "_topics": [
    "cpp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/iDIFr.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.1",
      "date": "2026-06-08"
    }
  ],
  "_exports": [
    "check_groups",
    "cross_details",
    "export_results",
    "fit_2pl",
    "group_details",
    "idifr",
    "item_loglik",
    "item_loglik_mg",
    "merge_groups",
    "simulate_dif",
    "tidy"
  ],
  "_help": [
    {
      "page": "check_groups",
      "title": "Check group structure and cell sizes before running DIF analysis",
      "topics": [
        "check_groups"
      ]
    },
    {
      "page": "cross_details",
      "title": "Full crossing breakdown for a demographic variable",
      "topics": [
        "cross_details"
      ]
    },
    {
      "page": "export_results",
      "title": "Export iDIFr results to Excel",
      "topics": [
        "export_results"
      ]
    },
    {
      "page": "fit_2pl",
      "title": "Fit a 2PL IRT model via marginal maximum likelihood (EM)",
      "topics": [
        "fit_2pl"
      ]
    },
    {
      "page": "group_details",
      "title": "Full per-group cell size breakdown",
      "topics": [
        "group_details"
      ]
    },
    {
      "page": "idifr",
      "title": "Run intersectional DIF analysis",
      "topics": [
        "idifr"
      ]
    },
    {
      "page": "item_loglik",
      "title": "Compute per-item log-likelihood contributions from a fitted irt_2pl model",
      "topics": [
        "item_loglik"
      ]
    },
    {
      "page": "item_loglik_mg",
      "title": "Per-item LL for a multigroup constrained model",
      "topics": [
        "item_loglik_mg"
      ]
    },
    {
      "page": "merge_groups",
      "title": "Merge sparse groups",
      "topics": [
        "merge_groups"
      ]
    },
    {
      "page": "plot.idifr",
      "title": "Plot method for idifr objects",
      "topics": [
        "plot.idifr"
      ]
    },
    {
      "page": "print.idifr",
      "title": "Print method for idifr objects",
      "topics": [
        "print.idifr"
      ]
    },
    {
      "page": "simulate_dif",
      "title": "Generate synthetic DIF data for testing and simulation",
      "topics": [
        "simulate_dif"
      ]
    },
    {
      "page": "summary.idifr",
      "title": "Summary method for idifr objects",
      "topics": [
        "summary.idifr"
      ]
    },
    {
      "page": "tidy",
      "title": "Tidy an idifr object",
      "topics": [
        "tidy"
      ]
    },
    {
      "page": "tidy.idifr",
      "title": "Return tidy data frame of DIF results",
      "topics": [
        "tidy.idifr"
      ]
    }
  ],
  "_readme": "https://github.com/cran/iDIFr/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "dplyr",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "S7",
    "sandwich",
    "scales",
    "strucchange",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "zoo"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting started with iDIFr",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What is DIF?",
        "A simple example",
        "Step 1: Generate (or load) your data",
        "Step 2: Check your group structure",
        "Step 3: Run the DIF analysis",
        "Step 4: Explore the results",
        "Intersectional DIF",
        "Handling small cells",
        "Effect sizes",
        "Intersectional Contrast Analysis (ICA)",
        "Further reading"
      ],
      "created": "2026-06-08 17:50:06",
      "modified": "2026-06-08 17:50:06",
      "commits": 1
    }
  ],
  "_score": 2.6989700043360187,
  "_indexed": false,
  "_nocasepkg": "idifr",
  "_universes": [
    "cran",
    "thmsrgrs"
  ],
  "_indexurl": "https://thmsrgrs.r-universe.dev/iDIFr",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-06-08T20:24:50.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "376f12f47c15b2f684005564973b2de65e5a4f6a",
      "fileid": "0eefff4712e67e6f0ec7dd5714779f7d4b41e510d5c061b0c87e0207f5b36bd9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27164451690"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-06-08T20:24:43.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "376f12f47c15b2f684005564973b2de65e5a4f6a",
      "fileid": "be05cffd605a02611c4a8df6e241698c89b66de6f79c06730670d24685e7eb59",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27164451690"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-06-08T20:24:48.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "376f12f47c15b2f684005564973b2de65e5a4f6a",
      "fileid": "054d9355b8b018cd20cc324ada621fe1fa178c1c7ed13eeab88b87ef3589c823",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27164451690"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-06-08T20:24:42.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "376f12f47c15b2f684005564973b2de65e5a4f6a",
      "fileid": "fa4590e00cfe36f6110d0f4e534da773ade9410dc3979d407f39f04529058a9a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27164451690"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.1",
      "date": "2026-06-08T20:24:59.000Z",
      "arch": "emscripten",
      "commit": "376f12f47c15b2f684005564973b2de65e5a4f6a",
      "fileid": "a62da8f99e04f11e526fa4cb0f8d3adf11875161857954553103572acbadcc64",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27164451690"
    }
  ]
}