{
  "_id": "6ae255c1327abcdf868656fe",
  "Package": "tppcm",
  "Type": "Package",
  "Title": "Step Discriminations for the Two-Parameter Partial Credit Model\non Top of 'TAM'",
  "Version": "0.1.0",
  "Authors@R": "person(\"Jie-Wen\", \"Tsai\", email = \"tsai.jiewen@gmail.com\", role = c(\"aut\", \"cre\"))",
  "Description": "In the two-parameter partial credit model (TPPCM) of Yu\n(1991) <https://hdl.handle.net/2142/21459>, every step of a\npolytomous item has its own discrimination. Estimation is left\nto existing software: 'TAM' (tam.mml.3pl() with a step design\nmatrix, tam.mml.2pl(), tam.mml()) and, for the bilinear product\nform and non-negativity constraints, 'sirt' (xxirt()). The\npackage adds what these packages do not provide: standard\nerrors of step discriminations based on the full observed\ninformation, step-level Wald tests, and score tests with\nmodification indices and expected parameter changes for moving\ndown the model ladder saturated TPPCM -> product form ->\ngeneralized partial credit model -> partial credit model,\nlimited-information fit statistics (the M2 statistic, root mean\nsquare error of approximation, standardized root mean squared\nresidual, comparative fit index and Tucker-Lewis index;\nMaydeu-Olivares and Joe (2006) <doi:10.1007/s11336-005-1295-9>)\nfor any step design, step contributions to the item\ninformation, and tests of differential step functioning across\ngroups: per-step Lagrange multiplier tests from one multigroup\nfit (Glas (1998)\n<https://www3.stat.sinica.edu.tw/statistica/j8n3/j8n32/j8n32.htm>),\nwith the generalized score test of Boos (1992)\n<doi:10.1080/00031305.1992.10475921>, likelihood ratio tests\nwith configural, metric, scalar and partial multigroup designs,\nscore-based tests (Merkle and Zeileis (2013)\n<doi:10.1007/s11336-012-9302-4>) and model-based trees\n(Zeileis, Hothorn and Hornik (2008)\n<doi:10.1198/106186008X319331>). The generalized partial credit\nmodel of Muraki (1992) <doi:10.1177/014662169201600206> is the\nspecial case with equal steps within items.",
  "License": "GPL (>= 2)",
  "URL": "https://github.com/jiewenTsai/tppcm",
  "BugReports": "https://github.com/jiewenTsai/tppcm/issues",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "RoxygenNote": "7.3.2",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-28 20:00:05 UTC",
    "User": "root"
  },
  "Author": "Jie-Wen Tsai [aut, cre]",
  "Maintainer": "Jie-Wen Tsai <tsai.jiewen@gmail.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-10-28 11:00:02 UTC",
  "RemoteUrl": "https://github.com/cran/tppcm",
  "RemoteRef": "HEAD",
  "RemoteSha": "1168ea62adf7b6f76bc8368ac5d0188b721f9347",
  "_user": "cran",
  "_type": "src",
  "_file": "tppcm_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/ab304dcadddaf6f77d6f2f7516a0777f19fd000c98a9e69d0e1dea1ae032965f",
  "_filesize": 618378,
  "_sha256": "ab304dcadddaf6f77d6f2f7516a0777f19fd000c98a9e69d0e1dea1ae032965f",
  "_expires": "2027-02-05T20:06:23.000Z",
  "_created": "2026-10-28T20:00:05.000Z",
  "_published": "2026-10-28T20:06:25.585Z",
  "_upstream": "https://github.com/cran/tppcm",
  "_status": "success",
  "_maintainer": {
    "name": "Jie-Wen Tsai",
    "email": "tsai.jiewen@gmail.com",
    "login": "jiewentsai",
    "description": "",
    "uuid": 44721885
  },
  "_jobs": [
    {
      "job": 123066824352,
      "time": 281,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12847448955"
    },
    {
      "job": 123066824516,
      "time": 332,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12847497581"
    },
    {
      "job": 123064522745,
      "time": 265,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12848020854"
    },
    {
      "job": 123066824285,
      "time": 159,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12847812090"
    },
    {
      "job": 123066824660,
      "time": 116,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12847697129"
    },
    {
      "job": 123066824315,
      "time": 128,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12848275206"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/40758676854",
  "_commit": {
    "id": "1168ea62adf7b6f76bc8368ac5d0188b721f9347",
    "author": "Jie-Wen Tsai <tsai.jiewen@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.0\n",
    "time": 1793185202
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "TAM",
      "role": "Depends"
    },
    {
      "package": "CDM",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "sirt",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "mirt",
      "role": "Suggests"
    },
    {
      "package": "numDeriv",
      "role": "Suggests"
    },
    {
      "package": "partykit",
      "role": "Suggests"
    },
    {
      "package": "psychotools",
      "role": "Suggests"
    },
    {
      "package": "psychotree",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "strucchange",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-44",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.0",
      "date": "2026-10-28"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "jiewentsai",
      "count": 1,
      "uuid": 44721885
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 634,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/tppcm"
  },
  "_devurl": "https://github.com/jiewentsai/tppcm",
  "_searchresults": 6,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/tppcm.html"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-10-28"
    }
  ],
  "_exports": [
    "dif_test",
    "dsf",
    "dsf_design",
    "get_parts",
    "irt_pars",
    "item_test",
    "m2",
    "mi",
    "score_test",
    "sim_tppcm",
    "step_info",
    "tppcm",
    "tppcmtree",
    "wald_test",
    "xxirt_tppcm",
    "xxirt_vcov"
  ],
  "_help": [
    {
      "page": "dif_test",
      "title": "Score (LM) tests of differential step and item functioning",
      "topics": [
        "dif_test"
      ]
    },
    {
      "page": "dsf",
      "title": "Likelihood ratio tests of differential step functioning",
      "topics": [
        "dsf"
      ]
    },
    {
      "page": "dsf_design",
      "title": "Multigroup TPPCM design with group.equal and group.partial",
      "topics": [
        "dsf_design"
      ]
    },
    {
      "page": "get_parts",
      "title": "Components of a fitted model",
      "topics": [
        "get_parts"
      ]
    },
    {
      "page": "irt_pars",
      "title": "Item and group parameters in a compact table",
      "topics": [
        "irt_pars"
      ]
    },
    {
      "page": "item_test",
      "title": "Item-level score tests",
      "topics": [
        "item_test"
      ]
    },
    {
      "page": "m2",
      "title": "Limited-information goodness of fit: M2, RMSEA2, SRMSR, CFI, TLI",
      "topics": [
        "m2"
      ]
    },
    {
      "page": "mi",
      "title": "Modification indices for single step discriminations",
      "topics": [
        "mi"
      ]
    },
    {
      "page": "score_test",
      "title": "Score test against a less restricted TPPCM",
      "topics": [
        "score_test"
      ]
    },
    {
      "page": "sim_tppcm",
      "title": "Simulate item responses from a TPPCM",
      "topics": [
        "sim_tppcm"
      ]
    },
    {
      "page": "step_info",
      "title": "Step, item and test information",
      "topics": [
        "step_info"
      ]
    },
    {
      "page": "tppcm",
      "title": "Step design for the TPPCM and its submodels",
      "topics": [
        "tppcm"
      ]
    },
    {
      "page": "tppcmtree",
      "title": "TPPCM trees: model-based recursive partitioning of step discriminations",
      "topics": [
        "tppcmtree"
      ]
    },
    {
      "page": "wald_test",
      "title": "Wald test of equal step discriminations within items",
      "topics": [
        "wald_test"
      ]
    },
    {
      "page": "xxirt_tppcm",
      "title": "Fit TPPCM-family models with sirt::xxirt()",
      "topics": [
        "xxirt_tppcm"
      ]
    },
    {
      "page": "xxirt_vcov",
      "title": "Covariance matrix of an xxirt fit with shared or fixed parameters",
      "topics": [
        "xxirt_vcov"
      ]
    }
  ],
  "_readme": "https://github.com/cran/tppcm/raw/HEAD/README.md",
  "_rundeps": [
    "admisc",
    "CDM",
    "lattice",
    "MASS",
    "Matrix",
    "mvtnorm",
    "pbapply",
    "pbv",
    "polycor",
    "Rcpp",
    "RcppArmadillo",
    "sirt",
    "TAM"
  ],
  "_vignettes": [
    {
      "source": "tppcm-recipes.Rmd",
      "filename": "tppcm-recipes.html",
      "title": "tppcm recipes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A. Data and estimation",
        "A1. Getting raw questionnaire data into shape",
        "A2. Fitting the saturated TPPCM",
        "A3. GPCM, step model, PCM and custom restrictions",
        "A4. Items with different numbers of categories",
        "A5. Rank-1 (product form) and the lower bound of the discriminations",
        "B. Reports and components",
        "B1. One parameter table",
        "B2. Standard errors and confidence intervals",
        "B3. Getting at the components",
        "B4. Information functions",
        "C. Tests",
        "C1. Which items have unequal step discriminations",
        "C2. Is the GPCM enough",
        "C3. Likelihood-ratio tests of nested models",
        "C4. Overall fit",
        "D. Differential item and step functioning",
        "D1. Known groups: which step has DIF",
        "D2. A covariate related to ability: impact is not DIF",
        "D3. Numeric and ordered covariates",
        "D4. Unknown grouping: a DIF tree",
        "D5. Which step functions differently between known groups (DSF)",
        "E. Simulation, unsupported models, weights and groups",
        "E1. Simulating data and estimating power",
        "E2. Models the package does not handle",
        "E3. Weights, multiple groups and latent regression"
      ],
      "created": "2026-10-28 11:00:02",
      "modified": "2026-10-28 11:00:02",
      "commits": 1
    },
    {
      "source": "tppcm-tutorial.Rmd",
      "filename": "tppcm-tutorial.html",
      "title": "tppcm: step discriminations on top of TAM",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. The model and the package",
        "The two-parameter partial credit model",
        "What the package does and does not do",
        "2. Estimating the TPPCM with TAM",
        "Data",
        "The saturated TPPCM",
        "When tam.mml.3pl() does not converge",
        "The common designs",
        "Restrictions at the step level",
        "3. Reports, standard errors, fit and information",
        "irt_pars(): a compact parameter table",
        "Standard errors",
        "Overall fit: m2()",
        "Information: step_info()",
        "4. Tests",
        "Per-item Wald tests: are the step discriminations of this item equal?",
        "Score tests from the GPCM",
        "5. Rank-1: the product form ~ item + step",
        "6. Differential step functioning",
        "Impact is not DIF: model the group distributions first",
        "A DSF workflow for known groups",
        "Why the joint test is the screen",
        "Why fit the TPPCM rather than the GPCM?",
        "tppcmtree(): DIF trees",
        "Example: verbal aggression",
        "7. get_parts(): the mathematical components",
        "8. Suggested workflow and caveats",
        "Workflow",
        "Caveats",
        "References"
      ],
      "created": "2026-10-28 11:00:02",
      "modified": "2026-10-28 11:00:02",
      "commits": 1
    }
  ],
  "_score": 3,
  "_indexed": true,
  "_nocasepkg": "tppcm",
  "_universes": [
    "cran",
    "jiewentsai"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-28T20:04:24.000Z",
      "distro": "resolute",
      "commit": "1168ea62adf7b6f76bc8368ac5d0188b721f9347",
      "fileid": "https://r2.ropensci.org/0a83ef1f04942b46158a4482276cf1485a20c939aec13b912a59de4bfbb1a4d6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40758676854"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-28T20:05:01.000Z",
      "distro": "resolute",
      "commit": "1168ea62adf7b6f76bc8368ac5d0188b721f9347",
      "fileid": "https://r2.ropensci.org/16c2148a9aa5c55251811d572946f90e8324d9a2c8e4342d42c5f972ed08b639",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40758676854"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-10-28T20:03:02.000Z",
      "commit": "1168ea62adf7b6f76bc8368ac5d0188b721f9347",
      "fileid": "https://r2.ropensci.org/5f17a545cdd7223cc0ef8f1ce93e49923f40e5e14d444e6305014a71c6f4eefb",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40758676854"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-28T20:01:19.000Z",
      "commit": "1168ea62adf7b6f76bc8368ac5d0188b721f9347",
      "fileid": "https://r2.ropensci.org/e65a2d4ef13f24cf0f5c158af6dfa094f4a5b79dad636d5853b663dfec6825c7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40758676854"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-28T20:01:31.000Z",
      "commit": "1168ea62adf7b6f76bc8368ac5d0188b721f9347",
      "fileid": "https://r2.ropensci.org/b6fcb8795b462636a1d02af38b222cf31807b920801e1aae972d71a4ac06f046",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40758676854"
    }
  ]
}