diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml
index 86ec859..02f667b 100644
--- a/.github/workflows/R-CMD-check.yaml
+++ b/.github/workflows/R-CMD-check.yaml
@@ -1,10 +1,13 @@
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
+# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
- branches: [main, master]
-name: R-CMD-check
+name: R-CMD-check.yaml
+
+permissions: read-all
jobs:
R-CMD-check:
@@ -16,25 +19,24 @@ jobs:
fail-fast: false
matrix:
config:
- - {os: macOS-latest, r: 'release', rtools: ''}
- - {os: windows-latest, r: 'release', rtools: '43'}
- - {os: ubuntu-latest, r: 'devel', rtools: '', http-user-agent: 'release'}
- - {os: ubuntu-latest, r: 'release', rtools: ''}
- - {os: ubuntu-latest, r: 'oldrel-1', rtools: ''}
+ - {os: macOS-latest, r: 'release'}
+ - {os: windows-latest, r: 'release'}
+ - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
+ - {os: ubuntu-latest, r: 'release'}
+ - {os: ubuntu-latest, r: 'oldrel-1'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
- rtools-version: ${{ matrix.config.rtools }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
extra-repositories: https://mc-stan.org/r-packages/
@@ -57,3 +59,4 @@ jobs:
- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
+ build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")'
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 4404a0a..7bdd6b8 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -1,19 +1,21 @@
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
+# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
- branches: [main, master]
-name: lint
+name: lint.yaml
+
+permissions: read-all
jobs:
lint:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
-
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
with:
diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml
index cefa6af..a64cab4 100644
--- a/.github/workflows/pkgdown.yaml
+++ b/.github/workflows/pkgdown.yaml
@@ -1,13 +1,16 @@
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
+# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
- branches: [main, master]
release:
types: [published]
workflow_dispatch:
-name: pkgdown
+name: pkgdown.yaml
+
+permissions: read-all
jobs:
pkgdown:
@@ -17,9 +20,10 @@ jobs:
group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
-
+ permissions:
+ contents: write
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: r-lib/actions/setup-pandoc@v2
@@ -43,7 +47,7 @@ jobs:
- name: Deploy to GitHub pages 🚀
if: github.event_name != 'pull_request'
- uses: JamesIves/github-pages-deploy-action@v4.4.1
+ uses: JamesIves/github-pages-deploy-action@v4.5.0
with:
clean: false
branch: gh-pages
diff --git a/.github/workflows/pr-commands.yaml b/.github/workflows/pr-commands.yaml
index 200e084..2edd93f 100644
--- a/.github/workflows/pr-commands.yaml
+++ b/.github/workflows/pr-commands.yaml
@@ -1,8 +1,12 @@
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
+# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
issue_comment:
types: [created]
-name: Commands
+name: pr-commands.yaml
+
+permissions: read-all
jobs:
document:
@@ -11,9 +15,10 @@ jobs:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
-
+ permissions:
+ contents: write
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: r-lib/actions/pr-fetch@v2
with:
@@ -22,7 +27,6 @@ jobs:
- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- extra-repositories: https://mc-stan.org/r-packages/
- uses: r-lib/actions/setup-r-dependencies@v2
with:
@@ -50,9 +54,10 @@ jobs:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
-
+ permissions:
+ contents: write
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: r-lib/actions/pr-fetch@v2
with:
diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml
index 5e40254..91f2e47 100644
--- a/.github/workflows/test-coverage.yaml
+++ b/.github/workflows/test-coverage.yaml
@@ -1,11 +1,14 @@
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
+# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
- branches: [main, master]
name: test-coverage
+permissions: read-all
+
jobs:
test-coverage:
runs-on: ubuntu-latest
@@ -13,7 +16,7 @@ jobs:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
with:
@@ -25,6 +28,7 @@ jobs:
cache-version: 3
extra-packages: |
any::covr
+ any::xml2
github::stan-dev/cmdstanr
upgrade: 'TRUE'
needs: coverage
@@ -37,7 +41,7 @@ jobs:
- name: Test coverage
run: |
- covr::codecov(
+ cov <- covr::package_coverage(
quiet = FALSE,
clean = FALSE,
line_exclusions = list("src/stanExports_gqs_loglik.h",
@@ -50,6 +54,15 @@ jobs:
)
shell: Rscript {0}
+ - uses: codecov/codecov-action@v4
+ with:
+ # Fail if error if not on PR, or if on PR and token is given
+ fail_ci_if_error: ${{ github.event_name != 'pull_request' || secrets.CODECOV_TOKEN }}
+ file: ./cobertura.xml
+ plugin: noop
+ disable_search: true
+ token: ${{ secrets.CODECOV_TOKEN }}
+
- name: Show testthat output
if: always()
run: |
@@ -59,7 +72,7 @@ jobs:
- name: Upload test results
if: failure()
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: coverage-test-failures
path: ${{ runner.temp }}/package
diff --git a/.github/workflows/update-citation-cff.yaml b/.github/workflows/update-citation-cff.yaml
index 6c6004f..033ccc4 100644
--- a/.github/workflows/update-citation-cff.yaml
+++ b/.github/workflows/update-citation-cff.yaml
@@ -18,7 +18,7 @@ jobs:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
with:
diff --git a/DESCRIPTION b/DESCRIPTION
index 0f52c43..04cbe94 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -64,11 +64,13 @@ Suggests:
testthat (>= 3.0.0)
Additional_repositories: https://mc-stan.org/r-packages/
Config/testthat/edition: 3
-Config/Needs/website: wjakethompson/wjake, showtext, ggdist, english
+Config/Needs/website: r-dcm/rdcmtemplate, wjakethompson/wjake, showtext, ggdist, english
+Config/Needs/documentation: openpharma/roxylint
+Config/roxylint: list(linters = roxylint::tidy)
Encoding: UTF-8
Language: en-US
LazyData: true
-Roxygen: list(markdown = TRUE)
+Roxygen: list(markdown = TRUE, roclets = c("namespace", "rd", "roxylint::roxylint"))
RoxygenNote: 7.3.2
Biarch: true
SystemRequirements: GNU make
diff --git a/R/data.R b/R/data.R
index 0fda6ad..ba7dabd 100644
--- a/R/data.R
+++ b/R/data.R
@@ -1,6 +1,7 @@
-#' Examination for the Certificate of Proficiency in English (ECPE)
+#' Examination for the Certificate of Proficiency in English
#'
-#' This is data from the grammar section of the ECPE, administered annually by
+#' This is data from the grammar section of the Examination for the Certificate
+#' of Proficiency in English (\acronym{ECPE}), administered annually by
#' the English Language Institute at the University of Michigan. This data
#' contains responses to 28 questions from 2,922 respondents, which ask
#' respondents to complete a sentence with the correct word. This data set has
@@ -21,6 +22,8 @@
#' * `resp_id`: Respondent identifier
#' * `E1`-`E28`: Dichotomous item responses to the 28 ECPE items
#'
+#' @concept Examination for the Certificate of Proficiency in English
+#'
#' @references Buck, G., & Tatsuoka, K. K. (1998). Application of the rule-space
#' procedure to language testing: Examining attributes of a free response
#' listening test. *Language Testing, 15*(2), 119-157.
@@ -52,7 +55,7 @@
"ecpe_qmatrix"
-#' MacReady & Dayton (1977) Multiplication Data
+#' MacReady & Dayton (1977) multiplication data
#'
#' This is a small data set of multiplication item responses. This data contains
#' responses to 4 items from 142 respondents, which ask respondents to complete
@@ -64,6 +67,9 @@
#' * `respondent`: Respondent identifier
#' * `mdm1`-`mdm4`: Dichotomous item responses to the 4 multiplication items
#'
+#' @concept MacReady
+#' @concept Dayton
+#'
#' @references MacReady, G. B., & Dayton, C. M. (1977). The use of probabilistic
#' models in the assessment of mastery. *Journal of Educational Statistics,
#' 2*(2), 99-120. \doi{10.2307/1164802}
diff --git a/R/discrimination.R b/R/discrimination.R
index e533846..427b63e 100644
--- a/R/discrimination.R
+++ b/R/discrimination.R
@@ -1,10 +1,10 @@
#' Item, attribute, and test-level discrimination indices
#'
-#' The cognitive diagnostic index (CDI) is a measure of how well an assessment
-#' is able to distinguish between attribute profiles. The index was originally
-#' proposed by Henson & Douglas (2005) for item- and test-level discrimination,
-#' and then expanded by Henson et al. (2008) to include attribute-level
-#' discrimination indices.
+#' The cognitive diagnostic index (\acronym{CDI}) is a measure of how well an
+#' assessment is able to distinguish between attribute profiles.
+#' The index was originally proposed by Henson & Douglas (2005) for item- and
+#' test-level discrimination, and then expanded by Henson et al. (2008) to
+#' include attribute-level discrimination indices.
#'
#' @param model The estimated model to be evaluated.
#' @param weight_prevalence Logical indicating whether the discrimination
@@ -29,9 +29,11 @@
#'
#' @return A list with two elements:
#' * `item_discrimination`: A [tibble][tibble::tibble-package] with one row
-#' per item containing the CDI for the item and any relevant attributes.
+#' per item containing the \acronym{CDI} for the item and any relevant
+#' attributes.
#' * `test_discrimination`: A [tibble][tibble::tibble-package] with one row
-#' containing the total CDI for the assessment and for each attribute.
+#' containing the total \acronym{CDI} for the assessment and for each
+#' attribute.
#' @export
#'
#' @references Henson, R., & Douglas, J. (2005). Test construction for cognitive
diff --git a/R/extract.R b/R/extract.R
index 60ab6b4..9ee6ec1 100644
--- a/R/extract.R
+++ b/R/extract.R
@@ -1,4 +1,4 @@
-#' Extract components of a `measrfit` object.
+#' Extract components of a `measrfit` object
#'
#' @param model The estimated to extract information from.
#' @param ... Additional arguments passed to specific methods.
@@ -18,8 +18,8 @@ measr_extract <- function(model, ...) {
#' For `what = "odds_ratio_flags"` and
#' `what = "conditional_prob_flags"`, the compatibility interval used for
#' determining model fit flags to return. For example, a `ppmc_interval` of
-#' 0.95 (the default) will return any PPMCs where the posterior predictive
-#' *p*-value (ppp) is less than 0.025 or greater than 0.975.
+#' 0.95 (the default) will return any \acronym{PPMC}s where the posterior
+#' predictive *p*-value (ppp) is less than 0.025 or greater than 0.975.
#'
#' * `agreement`:
#'
@@ -100,6 +100,11 @@ measr_extract <- function(model, ...) {
#' Reliability information must first be added to the model using
#' [add_reliability()].
#'
+#' @concept Sinharay
+#' @concept Goodman
+#' @concept Templin
+#' @concept Bradshaw
+#'
#' @return The extracted information. The specific structure will vary depending
#' on what is being extracted, but usually the returned object is a
#' [tibble][tibble::tibble-package] with the requested information.
diff --git a/R/fit-dcm.R b/R/fit-dcm.R
index 1cc59fe..9c0e13b 100644
--- a/R/fit-dcm.R
+++ b/R/fit-dcm.R
@@ -1,13 +1,13 @@
#' Fit Bayesian diagnostic classification models
#'
-#' Estimate diagnostic classification models (DCMs; also known as cognitive
+#' Estimate diagnostic classification models (\acronym{DCM}s; also known as cognitive
#' diagnostic models) using 'Stan'. Models can be estimated using Stan's
-#' optimizer, or full Markov chain Monte Carlo (MCMC).
+#' optimizer, or full Markov chain Monte Carlo (\acronym{MCMC}).
#'
#' @param data Response data. A data frame with 1 row per respondent and 1
#' column per item.
-#' @param missing An R expression specifying how missing data in `data` is coded
-#' (e.g., `NA`, `"."`, `-99`, etc.). The default is `NA`.
+#' @param missing An `R` expression specifying how missing data in `data` is
+#' coded (e.g., `NA`, `"."`, `-99`, etc.). The default is `NA`.
#' @param qmatrix The Q-matrix. A data frame with 1 row per item and 1 column
#' per attribute. All cells should be either 0 (item does not measure the
#' attribute) or 1 (item does measure the attribute).
@@ -22,7 +22,7 @@
#' identifiers. `NULL` also assumes that the order of the rows in the Q-matrix
#' is the same as the order of the columns in `data` (i.e., the item in row 1
#' of `qmatrix` is the item in column 1 of `data`, excluding `resp_id`).
-#' @param type Type of DCM to estimate. Must be one of
+#' @param type Type of \acronym{DCM} to estimate. Must be one of
#' `r glue::glue_collapse(dcm_choices(), sep = ", ", last = ", or ")`.
#' @param max_interaction If `type = "lcdm"`, the highest level of interaction
#' to estimate. The default is to estimate all possible interactions. For
@@ -42,19 +42,19 @@
#' are used, as specified by [default_dcm_priors()].
#' @param backend Character string naming the package to use as the backend for
#' fitting the Stan model. Options are `"rstan"` (the default) or
-#' `"cmdstanr"`. Can be set globally for the current R session via the
-#' "measr.backend" option (see [options()]). Details on the **rstan** and
-#' **cmdstanr** packages are available at \url{https://mc-stan.org/rstan/} and
+#' `"cmdstanr"`. Can be set globally for the current `R` session via the
+#' "measr.backend" option (see [options()]). Details on the rstan and
+#' cmdstanr packages are available at \url{https://mc-stan.org/rstan/} and
#' \url{https://mc-stan.org/cmdstanr/}, respectively.
#' @param file Either `NULL` (the default) or a character string. If a character
#' string, the fitted model object is saved as an `.rds` object using
#' [saveRDS()] using the supplied character string. The `.rds` extension
-#' is automatically added. If the specified file already exists, **measr**
+#' is automatically added. If the specified file already exists, measr
#' will load the previously saved model. Unless `file_refit` is specified, the
#' model will not be refit.
#' @param file_refit Controls when a saved model is refit. Options are
#' `"never"`, `"always"`, and `"on_change"`. Can be set globally for the
-#' current R session via the "measr.file_refit" option (see [options()]).
+#' current `R` session via the "measr.file_refit" option (see [options()]).
#' * For `"never"` (the default), the fitted model is always loaded if the
#' `file` exists, and model fitting is skipped.
#' * For `"always"`, the model is always refitted, regardless of whether or
@@ -72,6 +72,9 @@
#' [CmdStanModel](https://mc-stan.org/cmdstanr/reference/CmdStanModel.html)
#' class.
#'
+#' @concept Bayesian
+#' @concept Stan
+#'
#' @return A [measrfit] object.
#' @export
#' @examplesIf measr_examples()
diff --git a/R/loo-methods.R b/R/loo-methods.R
index fa8174b..79b6d60 100644
--- a/R/loo-methods.R
+++ b/R/loo-methods.R
@@ -10,17 +10,18 @@ loo::waic
#' @export
loo::loo_compare
-#' Efficient approximate leave-one-out cross-validation (LOO)
+#' Efficient approximate leave-one-out cross-validation (\acronym{LOO})
#'
#' A [loo::loo()] method that is customized for `measrfit` objects. This is a
-#' simple wrapper around [loo::loo.array()]. See the **loo** package
+#' simple wrapper around [loo::loo.array()]. See the loo package
#' [vignettes](https://mc-stan.org/loo/articles/) for details.
#'
#' @inheritParams loo::loo
#' @param x A [measrfit] object.
#' @param ... Additional arguments passed to [loo::loo.array()].
-#' @param force If the LOO criterion has already been added to the model object
-#' with [add_criterion()], should it be recalculated. Default is `FALSE`.
+#' @param force If the \acronym{LOO} criterion has already been added to the
+#' model object with [add_criterion()], should it be recalculated. Default is
+#' `FALSE`.
#'
#' @return The object returned by [loo::loo.array()].
#'
@@ -43,16 +44,17 @@ loo.measrfit <- function(x, ..., r_eff = NA, force = FALSE) { #nolint
loo::loo(log_lik_array, r_eff = r_eff, ...)
}
-#' Widely applicable information criterion (WAIC)
+#' Widely applicable information criterion (\acronym{WAIC})
#'
#' A [loo::waic()] method that is customized for `measrfit` objects. This is a
-#' simple wrapper around [loo::waic.array()]. See the **loo** package
+#' simple wrapper around [loo::waic.array()]. See the loo package
#' [vignettes](https://mc-stan.org/loo/articles/) for details.
#'
#' @param x A [measrfit] object.
#' @param ... Additional arguments passed to [loo::waic.array()].
-#' @param force If the WAIC criterion has already been added to the model object
-#' with [add_criterion()], should it be recalculated. Default is `FALSE`.
+#' @param force If the \acronym{WAIC} criterion has already been added to the
+#' model object with [add_criterion()], should it be recalculated. Default is
+#' `FALSE`.
#'
#' @return The object returned by [loo::waic.array()].
#'
@@ -78,7 +80,7 @@ waic.measrfit <- function(x, ..., force = FALSE) { #nolint
#' Relative model fit comparisons
#'
#' A [loo::loo_compare()] method that is customized for `measrfit` objects. See
-#' the **loo** package [vignettes](https://mc-stan.org/loo/articles/) for
+#' the loo package [vignettes](https://mc-stan.org/loo/articles/) for
#' details.
#'
#' @param x A [measrfit] object.
diff --git a/R/measrfit-class.R b/R/measrfit-class.R
index 4d117b2..fc8f372 100644
--- a/R/measrfit-class.R
+++ b/R/measrfit-class.R
@@ -1,15 +1,15 @@
#' Create a `measrfit` object
#'
-#' Models fitted with **measr** are represented as a `measrfit` object. If a
-#' model is estimated with *Stan*, but not **measr**, a `measrfit` object can be
-#' created in order to access other functionality in **measr** (e.g., model fit,
+#' Models fitted with [`measr`] are represented as a `measrfit` object. If a
+#' model is estimated with *Stan*, but not [`measr`], a `measrfit` object can be
+#' created in order to access other functionality in measr (e.g., model fit,
#' reliability).
#'
#' @param data The data and Q-matrix used to estimate the model.
-#' @param type The type of DCM that was estimated.
+#' @param type The type of \acronym{DCM} that was estimated.
#' @param prior A [measrprior][measrprior()] object containing information on
#' the priors used in the model.
-#' @param stancode The model code in **Stan** language.
+#' @param stancode The model code in *Stan* language.
#' @param method The method used to fit the model.
#' @param algorithm The name of the algorithm used to fit the model.
#' @param backend The name of the backend used to fit the model.
@@ -27,14 +27,17 @@
#' fitting the model.
#' @param file Optional name of a file which the model objects was saved to
#' or loaded from.
-#' @param version The versions of **measr**, **Stan**, **rstan** and/or
-#' **cmdstanr** that were used to fit the model.
+#' @param version The versions of measr, *Stan*, and rstan or cmdstanr that were
+#' used to fit the model.
#' @param class Additional classes to be added (e.g., `measrdcm` for a
#' diagnostic classification model).
#'
-#' @return A [measrfit][measrfit-class] object.
+#' @concept Stan
+#'
+#' @return A [`measrfit`][`measrfit-class`] object.
#' @export
-#' @seealso [measrfit-class], [as_measrfit()], [is_measrfit()]
+#'
+#' @seealso See [`measrfit-class`], [`as_measrfit()`], [`is_measrfit()`].
#' @examplesIf measr_examples()
#' rstn_mdm_lcdm <- measr_dcm(
#' data = mdm_data, missing = NA, qmatrix = mdm_qmatrix,
@@ -92,7 +95,7 @@ measrfit <- function(data = list(), type = character(),
#'
#' @return An object of class [measrfit-class].
#' @export
-#' @seealso [measrfit-class], [measrfit()], [is_measrfit()]
+#' @seealso See [measrfit-class], [measrfit()], [is_measrfit()].
#'
#' @examplesIf measr_examples()
#' rstn_mdm_lcdm <- measr_dcm(
@@ -129,9 +132,9 @@ as_measrfit.default <- function(x, class = character()) {
}
-#' Class `measrfit` of models fitted with the **measr** package
+#' Class `measrfit` of models fitted with the measr package
#'
-#' Models fitted with the **measr** package are represented as a `measrfit`
+#' Models fitted with the measr package are represented as a `measrfit`
#' object, which contains the posterior draws, Stan code, priors, and other
#' relevant information.
#'
@@ -142,7 +145,7 @@ as_measrfit.default <- function(x, class = character()) {
#' @slot type The type of DCM that was estimated.
#' @slot prior A [measrprior][measrprior()] object containing information on the
#' priors used in the model.
-#' @slot stancode The model code in **Stan** language.
+#' @slot stancode The model code in *Stan* language.
#' @slot method The method used to fit the model.
#' @slot algorithm The name of the algorithm used to fit the model.
#' @slot backend The name of the backend used to fit the model.
@@ -160,10 +163,10 @@ as_measrfit.default <- function(x, class = character()) {
#' fitting the model.
#' @slot file Optional name of a file which the model objects was saved to
#' or loaded from.
-#' @slot version The versions of **measr**, **Stan**, **rstan** and/or
-#' **cmdstanr** that were used to fit the model.
+#' @slot version The versions of measr, *Stan*, and rstan or cmdstanr that were
+#' used to fit the model.
#'
-#' @seealso [measrfit()], [as_measrfit()], [is_measrfit()]
+#' @seealso See [measrfit()], [as_measrfit()], [is_measrfit()].
NULL
@@ -226,13 +229,13 @@ validate_measrfit <- function(x) {
}
-#' Check if argument is a `measrfit` object
+#' Check if argument is a [`measrfit`] object
#'
-#' @param x An object to be checked
+#' @param x An object to be checked.
#'
-#' @return A logical indicating is `x` is a `measrfit` object.
+#' @return A logical indicating is `x` is a [`measrfit`] object.
#' @export
-#' @seealso [measrfit-class], [measrfit()], [as_measrfit()]
+#' @seealso See [measrfit-class], [measrfit()], [as_measrfit()].
#'
#' @examplesIf measr_examples()
#' rstn_mdm_lcdm <- measr_dcm(
diff --git a/R/methods.R b/R/methods.R
index 36effa6..0375c85 100644
--- a/R/methods.R
+++ b/R/methods.R
@@ -14,12 +14,12 @@
#' identifiers are present in the data, and row numbers will be used as
#' identifiers. If `newdata` is not specified and the data used to estimate
#' the model is scored, the `resp_id` is taken from the original data.
-#' @param missing An R expression specifying how missing data in `data` is coded
-#' (e.g., `NA`, `"."`, `-99`, etc.). The default is `NA`.
+#' @param missing An `R` expression specifying how missing data in `data` is
+#' coded (e.g., `NA`, `"."`, `-99`, etc.). The default is `NA`.
#' @param summary Should summary statistics be returned instead of the raw
#' posterior draws? Only relevant if the model was estimated with
#' `method = "mcmc"`. Default is `FALSE`.
-#' @param probs The percentiles to be computed by the `[stats::quantile()]`
+#' @param probs The percentiles to be computed by the [stats::quantile()]
#' function. Only relevant if the model was estimated with `method = "mcmc"`.
#' Only used if `summary` is `TRUE`.
#' @param force If respondent estimates have already been added to the model
diff --git a/R/model-evaluation.R b/R/model-evaluation.R
index 0b06b3f..51ffeeb 100644
--- a/R/model-evaluation.R
+++ b/R/model-evaluation.R
@@ -13,7 +13,7 @@
#' object.
#' @param method A vector of model fit methods to evaluate and add to the model
#' object.
-#' @param probs The percentiles to be computed by the `[stats::quantile()]`
+#' @param probs The percentiles to be computed by the [stats::quantile()]
#' function to summarize the posterior distributions of each person parameter.
#' Only relevant if `method = "mcmc"` was used to estimate the model.
#' @param overwrite Logical. Indicates whether specified elements that have
@@ -21,9 +21,9 @@
#' `FALSE`.
#' @param save Logical. Only relevant if a file was specified in the
#' [measrfit] object passed to `x`. If `TRUE` (the default), the model is
-#' re-saved to the specified file when new criteria are added to the R object.
-#' If `FALSE`, the new criteria will be added to the R object, but the saved
-#' file will not be updated.
+#' re-saved to the specified file when new criteria are added to the `R`
+#' object. If `FALSE`, the new criteria will be added to the `R` object, but
+#' the saved file will not be updated.
#' @param ... Additional arguments passed relevant methods. See Details.
#'
#' @details
@@ -41,9 +41,10 @@
#' For `add_criterion()`, relative fit criteria are added to the `$criteria`
#' element of the fitted model. This function wraps [loo()] and/or [waic()],
#' depending on which criteria are specified, to calculate the leave-one-out
-#' (LOO; Vehtari et al., 2017) and/or widely applicable information criteria
-#' (WAIC; Watanabe, 2010) to fitted model objects. Additional arguments supplied
-#' to `...` are passed to [loo::loo.array()] or [loo::waic.array()].
+#' (\acronym{LOO}; Vehtari et al., 2017) and/or widely applicable information
+#' criteria (\acronym{WAIC}; Watanabe, 2010) to fitted model objects.
+#' Additional arguments supplied to `...` are passed to [loo::loo.array()] or
+#' [loo::waic.array()].
#'
#' For `add_reliability()`, reliability information is added to the
#' `$reliability` element of the fitted model. Pattern level reliability is
diff --git a/R/ppmc.R b/R/ppmc.R
index 2b68c88..10157b1 100644
--- a/R/ppmc.R
+++ b/R/ppmc.R
@@ -9,7 +9,7 @@
#' less than or equal to the total number of posterior draws retained in the
#' estimated model. If `NULL` (the default) the total number from the
#' estimated model is used.
-#' @param probs The percentiles to be computed by the `[stats::quantile()]`
+#' @param probs The percentiles to be computed by the [stats::quantile()]
#' function for summarizing the posterior distributions of the specified fit
#' statistics.
#' @param return_draws Proportion of posterior draws for each specified fit
@@ -28,8 +28,9 @@
#' Multiple checks can be provided in order to calculate more than one check
#' simultaneously (e.g., `item_fit = c("conditional_prob", "odds_ratio")`).
#' See details.
-#' @param force If all requested PPMCs have already been added to the model
-#' object using [add_fit()], should they be recalculated. Default is `FALSE`.
+#' @param force If all requested \acronym{PPMC}s have already been added to the
+#' model object using [add_fit()], should they be recalculated. Default is
+#' `FALSE`.
#'
#' @details
#' Posterior predictive model checks (PPMCs) use the posterior distribution of
@@ -55,26 +56,30 @@
#' @return A list with two elements, "model_fit" and "item_fit". If either
#' `model_fit = NULL` or `item_fit = NULL` in the function call, this will be
#' a one-element list, with the null criteria excluded. Each list element, is
-#' itself a list with one element for each specified PPMC containing a
-#' [tibble][tibble::tibble-package]. For example if
+#' itself a list with one element for each specified \acronym{PPMC} containing
+#' a [tibble][tibble::tibble-package]. For example if
#' `item_fit = c("conditional_prob", "odds_ratio")`, the "item_fit" element
#' will be a list of length two, where each element is a tibble containing the
-#' results of the PPMC. All tibbles follow the same general structure:
+#' results of the \acronym{PPMC}. All tibbles follow the same general
+#' structure:
#'
-#' * `obs_{ppmc}`: The value of the relevant statistic in the observed data.
-#' * `ppmc_mean`: The mean of the `ndraws` posterior samples calculated for
-#' the given statistic.
-#' * Quantile columns: 1 column for each value of `probs`, providing the
+#' \itemize{
+#' \item `obs_{ppmc}`: The value of the relevant statistic in the observed
+#' data.
+#' \item `ppmc_mean`: The mean of the `ndraws` posterior samples calculated
+#' for the given statistic.
+#' \item Quantile columns: 1 column for each value of `probs`, providing the
#' corresponding quantiles of the `ndraws` posterior samples calculated for
#' the given statistic.
-#' * `samples`: A list column, where each element contains a vector of length
-#' `(ndraws * return_draws)`, representing samples from the posterior
-#' distribution of the calculated statistic. This column is excluded if
-#' `return_draws = 0`.
-#' * `ppp`: The posterior predictive p-value. This is the proportion of
+#' \item `samples`: A list column, where each element contains a vector of
+#' length `(ndraws * return_draws)`, representing samples from the
+#' posterior distribution of the calculated statistic. This column is
+#' excluded if `return_draws = 0`.
+#' \item `ppp`: The posterior predictive p-value. This is the proportion of
#' posterior samples for calculated statistic that are greater than the
#' observed value. Values very close to 0 or 1 indicate incompatibility
#' between the fitted model and the observed data.
+#' }
#'
#' @references Park, J. Y., Johnson, M. S., Lee, Y-S. (2015). Posterior
#' predictive model checks for cognitive diagnostic models. *International
diff --git a/R/priors.R b/R/priors.R
index 26c90b5..1565b11 100644
--- a/R/priors.R
+++ b/R/priors.R
@@ -1,20 +1,23 @@
-#' Prior definitions for **measr** models
+#' Prior definitions for measr models
#'
#' Create prior definitions for classes of parameters, or specific parameters.
#'
-#' @param prior A character string defining a distribution in **Stan** language.
-#' A list of all distributions supported by **Stan** can be found in *Stan
+#' @param prior A character string defining a distribution in *Stan* language.
+#' A list of all distributions supported by *Stan* can be found in *Stan
#' Language Functions Reference* at
#' \url{https://mc-stan.org/users/documentation/}.
#' @param class The parameter class. Defaults to `"intercept"`. Must be one of
-#' `"intercept"`, `"maineffect"`, `"interaction"` for the LCDM, or one of
-#' `"slip"` or `"guess"` for DINA or DINO models.
+#' `"intercept"`, `"maineffect"`, `"interaction"` for the \acronym{LCDM}, or
+#' one of `"slip"` or `"guess"` for \acronym{DINA} or \acronym{DINO} models.
#' @param coef Name of a specific parameter within the defined class. If not
#' defined, the prior is applied to all parameters within the class.
#' @param lb Lower bound for parameter restriction. Defaults to no restriction.
#' @param ub Upper bound for parameter restriction. Defaults to no restriction.
#' @param ... Additional arguments passed to `measrprior()`.
#'
+#' @concept Stan
+#' @concept Stan Language Functions Reference
+#'
#' @return A [tibble][tibble::tibble-package] of class `measrprior`.
#' @export
#'
@@ -193,7 +196,7 @@ validate_measrprior <- function(x) {
#' Checks if argument is a `measrprior` object
#'
-#' @param x An object to be checked
+#' @param x An object to be checked.
#'
#' @return A logical indicating if `x` is a `measrprior` object.
#'
diff --git a/R/utils-priors.R b/R/utils-priors.R
index 98be150..f8687c8 100644
--- a/R/utils-priors.R
+++ b/R/utils-priors.R
@@ -28,7 +28,7 @@ as_string <- function(x) {
#'
#' Creates a named list using the object names.
#'
-#' @param ...
+#' @param ... Additional arguments.
#'
#' @return A named list.
#' @noRd
diff --git a/R/utils.R b/R/utils.R
index 4cdeb00..882c830 100644
--- a/R/utils.R
+++ b/R/utils.R
@@ -155,11 +155,11 @@ get_parameters <- function(qmatrix, item_id = NULL, rename_att = FALSE,
#' Evaluate an expression without printing output or messages
#'
-#' @param expr expression to be evaluated
-#' @param type type of output to be suppressed (see ?sink)
-#' @param try wrap evaluation of expr in 'try' and
+#' @param expr Expression to be evaluated.
+#' @param type Type of output to be suppressed (see ?sink).
+#' @param try Wrap evaluation of expr in 'try' and
#' not suppress outputs if evaluation fails?
-#' @param silent actually evaluate silently?
+#' @param silent Actually evaluate silently?.
#'
#' @noRd
eval_silent <- function(expr, type = "output", try = FALSE,
diff --git a/pkgdown/_pkgdown.yml b/_pkgdown.yml
similarity index 66%
rename from pkgdown/_pkgdown.yml
rename to _pkgdown.yml
index 10934d5..57a96f2 100644
--- a/pkgdown/_pkgdown.yml
+++ b/_pkgdown.yml
@@ -3,10 +3,8 @@ url: https://measr.info
home:
title: Estimate Diagnostic Classification Models with Stan
-development:
- mode: auto
-
template:
+ package: rdcmtemplate
bootstrap: 5
opengraph:
image:
@@ -16,43 +14,6 @@ template:
creator: "@wjakethompson"
site: "@atlas4learning"
card: summary_large_image
- bslib:
- base_font:
- google: "Open Sans"
- heading_font:
- google: "Playfair Display"
- code_font:
- google: "Fira Code"
- bg: "#FFFFFF"
- fg: "#333"
- includes:
- after_body: >
-
-
-authors:
- footer:
- roles: [cre]
- sidebar:
- roles: [aut]
- W. Jake Thompson:
- href: https://wjakethompson.com
- University of Kansas:
- href: https://ku.edu
- Institute of Education Sciences:
- href: https://ies.ed.gov/funding/grantsearch/details.asp?ID=4546
-
-footer:
- structure:
- left: developed_by
- right: [ies]
- components:
- ies: |
- The research reported here was supported by the Institute of Education
- Sciences, U.S. Department of Education, through Grant
- [R305D210045](https://ies.ed.gov/funding/grantsearch/details.asp?ID=4546)
- to the University of Kansas. The opinions expressed are those of the
- authors and do not represent the views of the Institute or the U.S.
- Department of Education.
reference:
- title: Data sets
diff --git a/man/as_measrfit.Rd b/man/as_measrfit.Rd
index 165298b..5f5c7f3 100644
--- a/man/as_measrfit.Rd
+++ b/man/as_measrfit.Rd
@@ -33,5 +33,5 @@ new_obj <- as_measrfit(rstn_mdm_lcdm, class = "measrdcm")
\dontshow{\}) # examplesIf}
}
\seealso{
-\linkS4class{measrfit}, \code{\link[=measrfit]{measrfit()}}, \code{\link[=is_measrfit]{is_measrfit()}}
+See \linkS4class{measrfit}, \code{\link[=measrfit]{measrfit()}}, \code{\link[=is_measrfit]{is_measrfit()}}.
}
diff --git a/man/cdi.Rd b/man/cdi.Rd
index f2317e3..df96cbd 100644
--- a/man/cdi.Rd
+++ b/man/cdi.Rd
@@ -17,17 +17,19 @@ details for additional information.}
A list with two elements:
\itemize{
\item \code{item_discrimination}: A \link[tibble:tibble-package]{tibble} with one row
-per item containing the CDI for the item and any relevant attributes.
+per item containing the \acronym{CDI} for the item and any relevant
+attributes.
\item \code{test_discrimination}: A \link[tibble:tibble-package]{tibble} with one row
-containing the total CDI for the assessment and for each attribute.
+containing the total \acronym{CDI} for the assessment and for each
+attribute.
}
}
\description{
-The cognitive diagnostic index (CDI) is a measure of how well an assessment
-is able to distinguish between attribute profiles. The index was originally
-proposed by Henson & Douglas (2005) for item- and test-level discrimination,
-and then expanded by Henson et al. (2008) to include attribute-level
-discrimination indices.
+The cognitive diagnostic index (\acronym{CDI}) is a measure of how well an
+assessment is able to distinguish between attribute profiles.
+The index was originally proposed by Henson & Douglas (2005) for item- and
+test-level discrimination, and then expanded by Henson et al. (2008) to
+include attribute-level discrimination indices.
}
\details{
Henson et al. (2008) described two attribute-level discrimination indices,
diff --git a/man/default_dcm_priors.Rd b/man/default_dcm_priors.Rd
index 7a3360e..ceb11d6 100644
--- a/man/default_dcm_priors.Rd
+++ b/man/default_dcm_priors.Rd
@@ -7,7 +7,7 @@
default_dcm_priors(type = "lcdm", attribute_structure = "unconstrained")
}
\arguments{
-\item{type}{Type of DCM to estimate. Must be one of
+\item{type}{Type of \acronym{DCM} to estimate. Must be one of
lcdm, dina, dino, or crum.}
\item{attribute_structure}{Structural model specification. Must be one of
diff --git a/man/ecpe.Rd b/man/ecpe.Rd
index 973ddc5..d9243c7 100644
--- a/man/ecpe.Rd
+++ b/man/ecpe.Rd
@@ -4,7 +4,7 @@
\name{ecpe_data}
\alias{ecpe_data}
\alias{ecpe_qmatrix}
-\title{Examination for the Certificate of Proficiency in English (ECPE)}
+\title{Examination for the Certificate of Proficiency in English}
\format{
\code{ecpe_data} is a \link[tibble:tibble-package]{tibble} containing ECPE
response data with 2,922 rows and 29 variables.
@@ -31,7 +31,8 @@ ecpe_data
ecpe_qmatrix
}
\description{
-This is data from the grammar section of the ECPE, administered annually by
+This is data from the grammar section of the Examination for the Certificate
+of Proficiency in English (\acronym{ECPE}), administered annually by
the English Language Institute at the University of Michigan. This data
contains responses to 28 questions from 2,922 respondents, which ask
respondents to complete a sentence with the correct word. This data set has
@@ -69,4 +70,5 @@ classification models: A family of models for estimating and testing
attribute hierarchies. \emph{Psychometrika, 79}(2), 317-339.
\doi{10.1007/s11336-013-9362-0}
}
+\concept{Examination for the Certificate of Proficiency in English}
\keyword{datasets}
diff --git a/man/figures/measr-timeline.png b/man/figures/measr-timeline.png
deleted file mode 100644
index ac21bd2..0000000
Binary files a/man/figures/measr-timeline.png and /dev/null differ
diff --git a/man/fit_ppmc.Rd b/man/fit_ppmc.Rd
index 61dc060..d4606aa 100644
--- a/man/fit_ppmc.Rd
+++ b/man/fit_ppmc.Rd
@@ -22,7 +22,7 @@ less than or equal to the total number of posterior draws retained in the
estimated model. If \code{NULL} (the default) the total number from the
estimated model is used.}
-\item{probs}{The percentiles to be computed by the \verb{[stats::quantile()]}
+\item{probs}{The percentiles to be computed by the \code{\link[stats:quantile]{stats::quantile()}}
function for summarizing the posterior distributions of the specified fit
statistics.}
@@ -45,29 +45,33 @@ Multiple checks can be provided in order to calculate more than one check
simultaneously (e.g., \code{item_fit = c("conditional_prob", "odds_ratio")}).
See details.}
-\item{force}{If all requested PPMCs have already been added to the model
-object using \code{\link[=add_fit]{add_fit()}}, should they be recalculated. Default is \code{FALSE}.}
+\item{force}{If all requested \acronym{PPMC}s have already been added to the
+model object using \code{\link[=add_fit]{add_fit()}}, should they be recalculated. Default is
+\code{FALSE}.}
}
\value{
A list with two elements, "model_fit" and "item_fit". If either
\code{model_fit = NULL} or \code{item_fit = NULL} in the function call, this will be
a one-element list, with the null criteria excluded. Each list element, is
-itself a list with one element for each specified PPMC containing a
-\link[tibble:tibble-package]{tibble}. For example if
+itself a list with one element for each specified \acronym{PPMC} containing
+a \link[tibble:tibble-package]{tibble}. For example if
\code{item_fit = c("conditional_prob", "odds_ratio")}, the "item_fit" element
will be a list of length two, where each element is a tibble containing the
-results of the PPMC. All tibbles follow the same general structure:
+results of the \acronym{PPMC}. All tibbles follow the same general
+structure:
+
\itemize{
-\item \verb{obs_\{ppmc\}}: The value of the relevant statistic in the observed data.
-\item \code{ppmc_mean}: The mean of the \code{ndraws} posterior samples calculated for
-the given statistic.
+\item \verb{obs_\{ppmc\}}: The value of the relevant statistic in the observed
+data.
+\item \code{ppmc_mean}: The mean of the \code{ndraws} posterior samples calculated
+for the given statistic.
\item Quantile columns: 1 column for each value of \code{probs}, providing the
corresponding quantiles of the \code{ndraws} posterior samples calculated for
the given statistic.
-\item \code{samples}: A list column, where each element contains a vector of length
-\code{(ndraws * return_draws)}, representing samples from the posterior
-distribution of the calculated statistic. This column is excluded if
-\code{return_draws = 0}.
+\item \code{samples}: A list column, where each element contains a vector of
+length \code{(ndraws * return_draws)}, representing samples from the
+posterior distribution of the calculated statistic. This column is
+excluded if \code{return_draws = 0}.
\item \code{ppp}: The posterior predictive p-value. This is the proportion of
posterior samples for calculated statistic that are greater than the
observed value. Values very close to 0 or 1 indicate incompatibility
diff --git a/man/get_parameters.Rd b/man/get_parameters.Rd
index feb12e4..a11e225 100644
--- a/man/get_parameters.Rd
+++ b/man/get_parameters.Rd
@@ -28,7 +28,7 @@ generic, but consistent names (e.g., "att1", "att2", "att3").}
\item{rename_item}{Should item names from the \code{qmatrix} be replaced with
generic, but consistent names (e.g., 1, 2, 3).}
-\item{type}{Type of DCM to estimate. Must be one of
+\item{type}{Type of \acronym{DCM} to estimate. Must be one of
lcdm, dina, dino, or crum.}
\item{attribute_structure}{Structural model specification. Must be one of
diff --git a/man/is_measrfit.Rd b/man/is_measrfit.Rd
index eb94880..1bc6a75 100644
--- a/man/is_measrfit.Rd
+++ b/man/is_measrfit.Rd
@@ -2,18 +2,18 @@
% Please edit documentation in R/measrfit-class.R
\name{is_measrfit}
\alias{is_measrfit}
-\title{Check if argument is a \code{measrfit} object}
+\title{Check if argument is a \code{\link{measrfit}} object}
\usage{
is_measrfit(x)
}
\arguments{
-\item{x}{An object to be checked}
+\item{x}{An object to be checked.}
}
\value{
-A logical indicating is \code{x} is a \code{measrfit} object.
+A logical indicating is \code{x} is a \code{\link{measrfit}} object.
}
\description{
-Check if argument is a \code{measrfit} object
+Check if argument is a \code{\link{measrfit}} object
}
\examples{
\dontshow{if (measr_examples()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
@@ -27,5 +27,5 @@ is_measrfit(rstn_mdm_lcdm)
\dontshow{\}) # examplesIf}
}
\seealso{
-\linkS4class{measrfit}, \code{\link[=measrfit]{measrfit()}}, \code{\link[=as_measrfit]{as_measrfit()}}
+See \linkS4class{measrfit}, \code{\link[=measrfit]{measrfit()}}, \code{\link[=as_measrfit]{as_measrfit()}}.
}
diff --git a/man/is_measrprior.Rd b/man/is_measrprior.Rd
index 541435e..8b4346d 100644
--- a/man/is_measrprior.Rd
+++ b/man/is_measrprior.Rd
@@ -7,7 +7,7 @@
is_measrprior(x)
}
\arguments{
-\item{x}{An object to be checked}
+\item{x}{An object to be checked.}
}
\value{
A logical indicating if \code{x} is a \code{measrprior} object.
diff --git a/man/loo.measrfit.Rd b/man/loo.measrfit.Rd
index c6f473c..f8a1789 100644
--- a/man/loo.measrfit.Rd
+++ b/man/loo.measrfit.Rd
@@ -2,7 +2,7 @@
% Please edit documentation in R/loo-methods.R
\name{loo.measrfit}
\alias{loo.measrfit}
-\title{Efficient approximate leave-one-out cross-validation (LOO)}
+\title{Efficient approximate leave-one-out cross-validation (\acronym{LOO})}
\usage{
\method{loo}{measrfit}(x, ..., r_eff = NA, force = FALSE)
}
@@ -23,14 +23,15 @@ for all observations) or a vector with length equal to the number of
observations. The default value is 1. See the \code{\link[loo:relative_eff]{relative_eff()}} helper
functions for help computing \code{r_eff}.}
-\item{force}{If the LOO criterion has already been added to the model object
-with \code{\link[=add_criterion]{add_criterion()}}, should it be recalculated. Default is \code{FALSE}.}
+\item{force}{If the \acronym{LOO} criterion has already been added to the
+model object with \code{\link[=add_criterion]{add_criterion()}}, should it be recalculated. Default is
+\code{FALSE}.}
}
\value{
The object returned by \code{\link[loo:loo]{loo::loo.array()}}.
}
\description{
A \code{\link[loo:loo]{loo::loo()}} method that is customized for \code{measrfit} objects. This is a
-simple wrapper around \code{\link[loo:loo]{loo::loo.array()}}. See the \strong{loo} package
+simple wrapper around \code{\link[loo:loo]{loo::loo.array()}}. See the loo package
\href{https://mc-stan.org/loo/articles/}{vignettes} for details.
}
diff --git a/man/loo_compare.measrfit.Rd b/man/loo_compare.measrfit.Rd
index ce43f5a..484d738 100644
--- a/man/loo_compare.measrfit.Rd
+++ b/man/loo_compare.measrfit.Rd
@@ -23,6 +23,6 @@ The object returned by \code{\link[loo:loo_compare]{loo::loo_compare()}}.
}
\description{
A \code{\link[loo:loo_compare]{loo::loo_compare()}} method that is customized for \code{measrfit} objects. See
-the \strong{loo} package \href{https://mc-stan.org/loo/articles/}{vignettes} for
+the loo package \href{https://mc-stan.org/loo/articles/}{vignettes} for
details.
}
diff --git a/man/mdm.Rd b/man/mdm.Rd
index c0f5ec0..1e67db9 100644
--- a/man/mdm.Rd
+++ b/man/mdm.Rd
@@ -4,7 +4,7 @@
\name{mdm_data}
\alias{mdm_data}
\alias{mdm_qmatrix}
-\title{MacReady & Dayton (1977) Multiplication Data}
+\title{MacReady & Dayton (1977) multiplication data}
\format{
\code{mdm_data} is a \link[tibble:tibble-package]{tibble} containing responses
to multiplication items, as described in MacReady & Dayton (1977). There are
@@ -41,4 +41,6 @@ MacReady, G. B., & Dayton, C. M. (1977). The use of probabilistic
models in the assessment of mastery. \emph{Journal of Educational Statistics,
2}(2), 99-120. \doi{10.2307/1164802}
}
+\concept{Dayton}
+\concept{MacReady}
\keyword{datasets}
diff --git a/man/measr_dcm.Rd b/man/measr_dcm.Rd
index 3747e7c..435b392 100644
--- a/man/measr_dcm.Rd
+++ b/man/measr_dcm.Rd
@@ -25,8 +25,8 @@ measr_dcm(
\item{data}{Response data. A data frame with 1 row per respondent and 1
column per item.}
-\item{missing}{An R expression specifying how missing data in \code{data} is coded
-(e.g., \code{NA}, \code{"."}, \code{-99}, etc.). The default is \code{NA}.}
+\item{missing}{An \code{R} expression specifying how missing data in \code{data} is
+coded (e.g., \code{NA}, \code{"."}, \code{-99}, etc.). The default is \code{NA}.}
\item{qmatrix}{The Q-matrix. A data frame with 1 row per item and 1 column
per attribute. All cells should be either 0 (item does not measure the
@@ -45,7 +45,7 @@ identifiers. \code{NULL} also assumes that the order of the rows in the Q-matrix
is the same as the order of the columns in \code{data} (i.e., the item in row 1
of \code{qmatrix} is the item in column 1 of \code{data}, excluding \code{resp_id}).}
-\item{type}{Type of DCM to estimate. Must be one of
+\item{type}{Type of \acronym{DCM} to estimate. Must be one of
lcdm, dina, dino, or crum.}
\item{max_interaction}{If \code{type = "lcdm"}, the highest level of interaction
@@ -70,21 +70,21 @@ are used, as specified by \code{\link[=default_dcm_priors]{default_dcm_priors()}
\item{backend}{Character string naming the package to use as the backend for
fitting the Stan model. Options are \code{"rstan"} (the default) or
-\code{"cmdstanr"}. Can be set globally for the current R session via the
-"measr.backend" option (see \code{\link[=options]{options()}}). Details on the \strong{rstan} and
-\strong{cmdstanr} packages are available at \url{https://mc-stan.org/rstan/} and
+\code{"cmdstanr"}. Can be set globally for the current \code{R} session via the
+"measr.backend" option (see \code{\link[=options]{options()}}). Details on the rstan and
+cmdstanr packages are available at \url{https://mc-stan.org/rstan/} and
\url{https://mc-stan.org/cmdstanr/}, respectively.}
\item{file}{Either \code{NULL} (the default) or a character string. If a character
string, the fitted model object is saved as an \code{.rds} object using
\code{\link[=saveRDS]{saveRDS()}} using the supplied character string. The \code{.rds} extension
-is automatically added. If the specified file already exists, \strong{measr}
+is automatically added. If the specified file already exists, measr
will load the previously saved model. Unless \code{file_refit} is specified, the
model will not be refit.}
\item{file_refit}{Controls when a saved model is refit. Options are
\code{"never"}, \code{"always"}, and \code{"on_change"}. Can be set globally for the
-current R session via the "measr.file_refit" option (see \code{\link[=options]{options()}}).
+current \code{R} session via the "measr.file_refit" option (see \code{\link[=options]{options()}}).
\itemize{
\item For \code{"never"} (the default), the fitted model is always loaded if the
\code{file} exists, and model fitting is skipped.
@@ -111,9 +111,9 @@ class.
A \link{measrfit} object.
}
\description{
-Estimate diagnostic classification models (DCMs; also known as cognitive
+Estimate diagnostic classification models (\acronym{DCM}s; also known as cognitive
diagnostic models) using 'Stan'. Models can be estimated using Stan's
-optimizer, or full Markov chain Monte Carlo (MCMC).
+optimizer, or full Markov chain Monte Carlo (\acronym{MCMC}).
}
\examples{
\dontshow{if (measr_examples()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
@@ -124,3 +124,5 @@ rstn_mdm_lcdm <- measr_dcm(
)
\dontshow{\}) # examplesIf}
}
+\concept{Bayesian}
+\concept{Stan}
diff --git a/man/measr_extract.Rd b/man/measr_extract.Rd
index a6fb900..a312806 100644
--- a/man/measr_extract.Rd
+++ b/man/measr_extract.Rd
@@ -3,7 +3,7 @@
\name{measr_extract}
\alias{measr_extract}
\alias{measr_extract.measrdcm}
-\title{Extract components of a \code{measrfit} object.}
+\title{Extract components of a \code{measrfit} object}
\usage{
measr_extract(model, ...)
@@ -19,8 +19,8 @@ measr_extract(model, ...)
For \code{what = "odds_ratio_flags"} and
\code{what = "conditional_prob_flags"}, the compatibility interval used for
determining model fit flags to return. For example, a \code{ppmc_interval} of
-0.95 (the default) will return any PPMCs where the posterior predictive
-\emph{p}-value (ppp) is less than 0.025 or greater than 0.975.
+0.95 (the default) will return any \acronym{PPMC}s where the posterior
+predictive \emph{p}-value (ppp) is less than 0.025 or greater than 0.975.
\item \code{agreement}:
For \code{what = "classification_reliability"}, additional
@@ -48,7 +48,7 @@ on what is being extracted, but usually the returned object is a
\link[tibble:tibble-package]{tibble} with the requested information.
}
\description{
-Extract components of a \code{measrfit} object.
+Extract components of a \code{measrfit} object
Extract components of an estimated diagnostic classification model
}
@@ -153,3 +153,7 @@ Templin, J., & Bradshaw, L. (2013). Measuring the reliability of
diagnostic classification model examinee estimates. \emph{Journal of
Classification, 30}(2), 251-275. \doi{10.1007/s00357-013-9129-4}
}
+\concept{Bradshaw}
+\concept{Goodman}
+\concept{Sinharay}
+\concept{Templin}
diff --git a/man/measrfit-class.Rd b/man/measrfit-class.Rd
index f32e9b8..ba9df74 100644
--- a/man/measrfit-class.Rd
+++ b/man/measrfit-class.Rd
@@ -3,9 +3,9 @@
\docType{class}
\name{measrfit-class}
\alias{measrfit-class}
-\title{Class \code{measrfit} of models fitted with the \strong{measr} package}
+\title{Class \code{measrfit} of models fitted with the measr package}
\description{
-Models fitted with the \strong{measr} package are represented as a \code{measrfit}
+Models fitted with the measr package are represented as a \code{measrfit}
object, which contains the posterior draws, Stan code, priors, and other
relevant information.
}
@@ -19,7 +19,7 @@ relevant information.
\item{\code{prior}}{A \link[=measrprior]{measrprior} object containing information on the
priors used in the model.}
-\item{\code{stancode}}{The model code in \strong{Stan} language.}
+\item{\code{stancode}}{The model code in \emph{Stan} language.}
\item{\code{method}}{The method used to fit the model.}
@@ -47,10 +47,10 @@ fitting the model.}
\item{\code{file}}{Optional name of a file which the model objects was saved to
or loaded from.}
-\item{\code{version}}{The versions of \strong{measr}, \strong{Stan}, \strong{rstan} and/or
-\strong{cmdstanr} that were used to fit the model.}
+\item{\code{version}}{The versions of measr, \emph{Stan}, and rstan or cmdstanr that were
+used to fit the model.}
}}
\seealso{
-\code{\link[=measrfit]{measrfit()}}, \code{\link[=as_measrfit]{as_measrfit()}}, \code{\link[=is_measrfit]{is_measrfit()}}
+See \code{\link[=measrfit]{measrfit()}}, \code{\link[=as_measrfit]{as_measrfit()}}, \code{\link[=is_measrfit]{is_measrfit()}}.
}
diff --git a/man/measrfit.Rd b/man/measrfit.Rd
index 4855665..9f14eab 100644
--- a/man/measrfit.Rd
+++ b/man/measrfit.Rd
@@ -25,12 +25,12 @@ measrfit(
\arguments{
\item{data}{The data and Q-matrix used to estimate the model.}
-\item{type}{The type of DCM that was estimated.}
+\item{type}{The type of \acronym{DCM} that was estimated.}
\item{prior}{A \link[=measrprior]{measrprior} object containing information on
the priors used in the model.}
-\item{stancode}{The model code in \strong{Stan} language.}
+\item{stancode}{The model code in \emph{Stan} language.}
\item{method}{The method used to fit the model.}
@@ -58,19 +58,19 @@ fitting the model.}
\item{file}{Optional name of a file which the model objects was saved to
or loaded from.}
-\item{version}{The versions of \strong{measr}, \strong{Stan}, \strong{rstan} and/or
-\strong{cmdstanr} that were used to fit the model.}
+\item{version}{The versions of measr, \emph{Stan}, and rstan or cmdstanr that were
+used to fit the model.}
\item{class}{Additional classes to be added (e.g., \code{measrdcm} for a
diagnostic classification model).}
}
\value{
-A \link[=measrfit-class]{measrfit} object.
+A \code{\link[=measrfit-class]{measrfit}} object.
}
\description{
-Models fitted with \strong{measr} are represented as a \code{measrfit} object. If a
-model is estimated with \emph{Stan}, but not \strong{measr}, a \code{measrfit} object can be
-created in order to access other functionality in \strong{measr} (e.g., model fit,
+Models fitted with \code{\link{measr}} are represented as a \code{measrfit} object. If a
+model is estimated with \emph{Stan}, but not \code{\link{measr}}, a \code{measrfit} object can be
+created in order to access other functionality in measr (e.g., model fit,
reliability).
}
\examples{
@@ -101,5 +101,6 @@ new_obj <- measrfit(
\dontshow{\}) # examplesIf}
}
\seealso{
-\linkS4class{measrfit}, \code{\link[=as_measrfit]{as_measrfit()}}, \code{\link[=is_measrfit]{is_measrfit()}}
+See \code{\linkS4class{measrfit}}, \code{\link[=as_measrfit]{as_measrfit()}}, \code{\link[=is_measrfit]{is_measrfit()}}.
}
+\concept{Stan}
diff --git a/man/measrprior.Rd b/man/measrprior.Rd
index 8973b1d..2a4e369 100644
--- a/man/measrprior.Rd
+++ b/man/measrprior.Rd
@@ -5,7 +5,7 @@
\alias{prior}
\alias{prior_}
\alias{prior_string}
-\title{Prior definitions for \strong{measr} models}
+\title{Prior definitions for measr models}
\usage{
measrprior(
prior,
@@ -22,14 +22,14 @@ prior_(prior, ...)
prior_string(prior, ...)
}
\arguments{
-\item{prior}{A character string defining a distribution in \strong{Stan} language.
-A list of all distributions supported by \strong{Stan} can be found in \emph{Stan
+\item{prior}{A character string defining a distribution in \emph{Stan} language.
+A list of all distributions supported by \emph{Stan} can be found in \emph{Stan
Language Functions Reference} at
\url{https://mc-stan.org/users/documentation/}.}
\item{class}{The parameter class. Defaults to \code{"intercept"}. Must be one of
-\code{"intercept"}, \code{"maineffect"}, \code{"interaction"} for the LCDM, or one of
-\code{"slip"} or \code{"guess"} for DINA or DINO models.}
+\code{"intercept"}, \code{"maineffect"}, \code{"interaction"} for the \acronym{LCDM}, or
+one of \code{"slip"} or \code{"guess"} for \acronym{DINA} or \acronym{DINO} models.}
\item{coef}{Name of a specific parameter within the defined class. If not
defined, the prior is applied to all parameters within the class.}
@@ -77,3 +77,5 @@ prior(beta(5, 25), class = "slip")
# Or for a specific item (e.g., just the slipping parameter for item 7)
prior(beta(5, 25), class = "slip", coef = "slip[7]")
}
+\concept{Stan}
+\concept{Stan Language Functions Reference}
diff --git a/man/model_evaluation.Rd b/man/model_evaluation.Rd
index e47222d..73860d0 100644
--- a/man/model_evaluation.Rd
+++ b/man/model_evaluation.Rd
@@ -47,9 +47,9 @@ already been added to the estimated model should be overwritten. Default is
\item{save}{Logical. Only relevant if a file was specified in the
\link{measrfit} object passed to \code{x}. If \code{TRUE} (the default), the model is
-re-saved to the specified file when new criteria are added to the R object.
-If \code{FALSE}, the new criteria will be added to the R object, but the saved
-file will not be updated.}
+re-saved to the specified file when new criteria are added to the \code{R}
+object. If \code{FALSE}, the new criteria will be added to the \code{R} object, but
+the saved file will not be updated.}
\item{...}{Additional arguments passed relevant methods. See Details.}
@@ -70,7 +70,7 @@ object.}
\item{ci}{The confidence interval for the RMSEA, computed from the M2}
-\item{probs}{The percentiles to be computed by the \verb{[stats::quantile()]}
+\item{probs}{The percentiles to be computed by the \code{\link[stats:quantile]{stats::quantile()}}
function to summarize the posterior distributions of each person parameter.
Only relevant if \code{method = "mcmc"} was used to estimate the model.}
}
@@ -100,9 +100,10 @@ arguments supplied to \code{...} are passed to \code{\link[=fit_ppmc]{fit_ppmc()
For \code{add_criterion()}, relative fit criteria are added to the \verb{$criteria}
element of the fitted model. This function wraps \code{\link[=loo]{loo()}} and/or \code{\link[=waic]{waic()}},
depending on which criteria are specified, to calculate the leave-one-out
-(LOO; Vehtari et al., 2017) and/or widely applicable information criteria
-(WAIC; Watanabe, 2010) to fitted model objects. Additional arguments supplied
-to \code{...} are passed to \code{\link[loo:loo]{loo::loo.array()}} or \code{\link[loo:waic]{loo::waic.array()}}.
+(\acronym{LOO}; Vehtari et al., 2017) and/or widely applicable information
+criteria (\acronym{WAIC}; Watanabe, 2010) to fitted model objects.
+Additional arguments supplied to \code{...} are passed to \code{\link[loo:loo]{loo::loo.array()}} or
+\code{\link[loo:waic]{loo::waic.array()}}.
For \code{add_reliability()}, reliability information is added to the
\verb{$reliability} element of the fitted model. Pattern level reliability is
diff --git a/man/predict.measrdcm.Rd b/man/predict.measrdcm.Rd
index 0056430..4d91e99 100644
--- a/man/predict.measrdcm.Rd
+++ b/man/predict.measrdcm.Rd
@@ -29,14 +29,14 @@ identifiers are present in the data, and row numbers will be used as
identifiers. If \code{newdata} is not specified and the data used to estimate
the model is scored, the \code{resp_id} is taken from the original data.}
-\item{missing}{An R expression specifying how missing data in \code{data} is coded
-(e.g., \code{NA}, \code{"."}, \code{-99}, etc.). The default is \code{NA}.}
+\item{missing}{An \code{R} expression specifying how missing data in \code{data} is
+coded (e.g., \code{NA}, \code{"."}, \code{-99}, etc.). The default is \code{NA}.}
\item{summary}{Should summary statistics be returned instead of the raw
posterior draws? Only relevant if the model was estimated with
\code{method = "mcmc"}. Default is \code{FALSE}.}
-\item{probs}{The percentiles to be computed by the \verb{[stats::quantile()]}
+\item{probs}{The percentiles to be computed by the \code{\link[stats:quantile]{stats::quantile()}}
function. Only relevant if the model was estimated with \code{method = "mcmc"}.
Only used if \code{summary} is \code{TRUE}.}
diff --git a/man/waic.measrfit.Rd b/man/waic.measrfit.Rd
index 26885d3..0d49452 100644
--- a/man/waic.measrfit.Rd
+++ b/man/waic.measrfit.Rd
@@ -2,7 +2,7 @@
% Please edit documentation in R/loo-methods.R
\name{waic.measrfit}
\alias{waic.measrfit}
-\title{Widely applicable information criterion (WAIC)}
+\title{Widely applicable information criterion (\acronym{WAIC})}
\usage{
\method{waic}{measrfit}(x, ..., force = FALSE)
}
@@ -11,14 +11,15 @@
\item{...}{Additional arguments passed to \code{\link[loo:waic]{loo::waic.array()}}.}
-\item{force}{If the WAIC criterion has already been added to the model object
-with \code{\link[=add_criterion]{add_criterion()}}, should it be recalculated. Default is \code{FALSE}.}
+\item{force}{If the \acronym{WAIC} criterion has already been added to the
+model object with \code{\link[=add_criterion]{add_criterion()}}, should it be recalculated. Default is
+\code{FALSE}.}
}
\value{
The object returned by \code{\link[loo:waic]{loo::waic.array()}}.
}
\description{
A \code{\link[loo:waic]{loo::waic()}} method that is customized for \code{measrfit} objects. This is a
-simple wrapper around \code{\link[loo:waic]{loo::waic.array()}}. See the \strong{loo} package
+simple wrapper around \code{\link[loo:waic]{loo::waic.array()}}. See the loo package
\href{https://mc-stan.org/loo/articles/}{vignettes} for details.
}
diff --git a/pkgdown/extra.css b/pkgdown/extra.css
deleted file mode 100644
index af16a35..0000000
--- a/pkgdown/extra.css
+++ /dev/null
@@ -1,228 +0,0 @@
-@import url("https://fonts.googleapis.com/css?family=Ubuntu:400,700");
-
-:root {
- --nav-bkg: #023047; /* nav bar background */
- --nav-link: #8ecae6; /* nav bar link color */
- --nav-higl: #219ebc; /* nav active and highlight */
- --ver-norm: #219ebc; /* pkg version background - release version */
- --ver-devp: #d7263d; /* pkg version background - dev version */
-
- --pg-header: #023047; /* heading color & text links */
- --text-link: #d7263d; /* hyperlinks in text */
- --a-hover: #219ebc; /* hyperlink hover */
-
- --sdb-link: #d7263d; /* hyperlinks in sidebar */
- --sdb-hover: #219ebc; /* hyperlink hover in sidebar*/
- --sdb-roles: #00000094; /* author roles */
-
- --toc-link: #023047; /* table of contents links */
- --toc-bkg: #8ecae6; /* table of contents active background */
-
- --btn-color: #023047; /* copy button color */
- --btn-hover: #219ebc; /* copy button hover */
-
- --col-bullt: #023047; /* color for colored list */
- --thb-captn: #023047; /* thumbnail caption */
-}
-
-
-/* Navbar ------------------------------------------------------------------- */
-/* Navbar color */
-.bg-light {
- background-color: var(--nav-bkg) !important;
-}
-
-/* package name in navbar */
-.navbar-brand {
- font-family: Ubuntu;
- font-weight: 700;
- font-size: 1.7rem;
- color: var(--nav-link) !important;
-}
-
-/* Package version */
-small.text-danger {
- color: var(--ver-devp) !important;
-}
-
-small.text-muted {
- color: var(--ver-norm) !important;
-}
-
-/* Color of links in navbar and hover links */
-.nav-link {
- color: var(--nav-link) !important;
-}
-
-.navbar-light .navbar-nav .nav-link:hover {
- color: var(--nav-higl) !important;
-}
-
-.navbar-light .navbar-nav .nav-item>.nav-link:hover {
- background: var(--nav-bkg);
-}
-
-.navbar-light .navbar-nav .active > .nav-link:hover {
- color: var(--nav-higl) !important;
-}
-
-/* active navbar link */
-.navbar-light .navbar-nav .active > .nav-link {
- background: var(--nav-link);
- color: var(--nav-bkg) !important;
- border-radius: 1rem;
-}
-
-/* dropdown menu */
-.dropdown-menu {
- background-color: var(--nav-bkg);
- border-color: var(--nav-link);
-}
-
-.dropdown-item, .dropdown-menu > li > a {
- background-color: var(--nav-bkg);
- color: var(--nav-link);
-}
-
-.dropdown-item:hover, .dropdown-menu > li > a:hover,
-.dropdown-item:focus, .dropdown-menu > li > a:focus {
- color: var(--nav-higl);
- text-decoration: none;
- background-color: var(--nav-bkg);
-}
-
-span.navbar-toggler-icon {
- filter: brightness(0) saturate(100%) invert(68%) sepia(34%) saturate(366%) hue-rotate(154deg) brightness(107%) contrast(88%);
-}
-
-h6.dropdown-header {
- color: var(--nav-higl);
-}
-
-.dropdown-divider {
- border-top: 1px solid var(--nav-link);
-}
-
-
-/* sidebar ------------------------------------------------------------------ */
-#pkgdown-sidebar a {
- color: var(--sdb-link);
- text-decoration: none;
-}
-
-#pkgdown-sidebar a:hover {
- text-decoration: underline;
- color: var(--sdb-hover);
-}
-
-h2[data-toc-skip], #pkgdown-sidebar h2[data-toc-skip] {
- font-size: 1.2em;
- /* text-transform: uppercase; */
-}
-
-#pkgdown-sidebar small.roles {
- font-size: 0.75em;
- color: var(--sdb-roles);
-}
-
-
-/* footer ------------------------------------------------------------------- */
-footer .pkgdown-footer-right {
- flex: 5;
-}
-
-
-/* Format text -------------------------------------------------------------- */
-/* link colors */
-a {
- color: var(--text-link);
-}
-
-a:hover {
- color: var(--a-hover);
-}
-
-/* add underline to links in paragraphs */
-p a {
- text-decoration: underline var(--text-link) dotted;
- text-decoration-skip-ink: none;
- text-decoration-thickness: from-font;
-}
-
-/* headers */
-.template-home .page-header {
- min-height: 50px;
-}
-
-h1 {
- font-size: 2.0em;
- font-weight: 400;
- color: var(--pg-header);
- letter-spacing: .08em;
-}
-h2 {
- font-size: 1.7em;
- text-transform: none;
- font-weight: 300;
- color: var(--pg-header);
- letter-spacing: .08em;
-}
-h3 {
- font-size: 1.2em;
- text-transform: none;
- font-weight: 200;
- color: var(--pg-header);
- letter-spacing: .1em;
-}
-h4 {
- font-size: 1.2em;
- text-transform: none;
- font-weight: 600;
- color: var(--pg-header);
- letter-spacing: .05em;
-}
-
-
-/* Copy Buttons ------------------------------------------------------------- */
-.btn-primary {
- background-color: var(--btn-color);
- border-color: var(--btn-color);
-}
-
-.btn-primary:hover,
-.btn-primary:focus,
-.btn-primary:active:hover {
- background-color: var(--btn-hover);
- border-color: var(--btn-hover);
-}
-
-/* table of contents -------------------------------------------------------- */
-nav[data-toggle="toc"] .nav > li > a {
- color: var(--toc-link) !important;
- padding-left: 0.5rem;
- border-radius: 1rem;
- border: white solid;
-}
-
-/* Under hover */
-nav[data-toggle="toc"] .nav > li > a:hover,
-nav[data-toggle="toc"] .nav > li > a:focus,
-/* Current */
-nav[data-toggle="toc"] .nav-link.active,
-nav[data-toggle="toc"] .nav-link.active:hover,
-nav[data-toggle="toc"] .nav-link.active:focus
-{
- background-color: var(--toc-bkg) !important;
-}
-
-/* Nav: second level (shown on .active) */
-nav[data-toggle="toc"] .nav-link + ul {
- display: none;
-}
-nav[data-toggle="toc"] .nav-link.active + ul {
- display: block;
-}
-nav[data-toggle="toc"] .nav .nav > li > a {
- margin-left: 0.5rem;
-}
-
diff --git a/pkgdown/favicon/apple-touch-icon-120x120.png b/pkgdown/favicon/apple-touch-icon-120x120.png
deleted file mode 100644
index fd8ecb2..0000000
Binary files a/pkgdown/favicon/apple-touch-icon-120x120.png and /dev/null differ
diff --git a/pkgdown/favicon/apple-touch-icon-152x152.png b/pkgdown/favicon/apple-touch-icon-152x152.png
deleted file mode 100644
index 1220a12..0000000
Binary files a/pkgdown/favicon/apple-touch-icon-152x152.png and /dev/null differ
diff --git a/pkgdown/favicon/apple-touch-icon-180x180.png b/pkgdown/favicon/apple-touch-icon-180x180.png
deleted file mode 100644
index 51a2d58..0000000
Binary files a/pkgdown/favicon/apple-touch-icon-180x180.png and /dev/null differ
diff --git a/pkgdown/favicon/apple-touch-icon-60x60.png b/pkgdown/favicon/apple-touch-icon-60x60.png
deleted file mode 100644
index 9c4e139..0000000
Binary files a/pkgdown/favicon/apple-touch-icon-60x60.png and /dev/null differ
diff --git a/pkgdown/favicon/apple-touch-icon-76x76.png b/pkgdown/favicon/apple-touch-icon-76x76.png
deleted file mode 100644
index f39b026..0000000
Binary files a/pkgdown/favicon/apple-touch-icon-76x76.png and /dev/null differ
diff --git a/pkgdown/favicon/apple-touch-icon.png b/pkgdown/favicon/apple-touch-icon.png
index 67ac53b..7597892 100644
Binary files a/pkgdown/favicon/apple-touch-icon.png and b/pkgdown/favicon/apple-touch-icon.png differ
diff --git a/pkgdown/favicon/favicon-16x16.png b/pkgdown/favicon/favicon-16x16.png
deleted file mode 100644
index e2d7424..0000000
Binary files a/pkgdown/favicon/favicon-16x16.png and /dev/null differ
diff --git a/pkgdown/favicon/favicon-32x32.png b/pkgdown/favicon/favicon-32x32.png
deleted file mode 100644
index fe5c84c..0000000
Binary files a/pkgdown/favicon/favicon-32x32.png and /dev/null differ
diff --git a/pkgdown/favicon/favicon-96x96.png b/pkgdown/favicon/favicon-96x96.png
new file mode 100644
index 0000000..73ae86f
Binary files /dev/null and b/pkgdown/favicon/favicon-96x96.png differ
diff --git a/pkgdown/favicon/favicon.ico b/pkgdown/favicon/favicon.ico
index 419771d..4bba7b3 100644
Binary files a/pkgdown/favicon/favicon.ico and b/pkgdown/favicon/favicon.ico differ
diff --git a/pkgdown/favicon/favicon.svg b/pkgdown/favicon/favicon.svg
new file mode 100644
index 0000000..1e611b4
--- /dev/null
+++ b/pkgdown/favicon/favicon.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/pkgdown/favicon/site.webmanifest b/pkgdown/favicon/site.webmanifest
new file mode 100644
index 0000000..4ebda26
--- /dev/null
+++ b/pkgdown/favicon/site.webmanifest
@@ -0,0 +1,21 @@
+{
+ "name": "",
+ "short_name": "",
+ "icons": [
+ {
+ "src": "/web-app-manifest-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "/web-app-manifest-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png",
+ "purpose": "maskable"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
\ No newline at end of file
diff --git a/pkgdown/favicon/web-app-manifest-192x192.png b/pkgdown/favicon/web-app-manifest-192x192.png
new file mode 100644
index 0000000..7bf413e
Binary files /dev/null and b/pkgdown/favicon/web-app-manifest-192x192.png differ
diff --git a/pkgdown/favicon/web-app-manifest-512x512.png b/pkgdown/favicon/web-app-manifest-512x512.png
new file mode 100644
index 0000000..635e3c4
Binary files /dev/null and b/pkgdown/favicon/web-app-manifest-512x512.png differ
diff --git a/vignettes/articles/fits/ecpe-lcdm.rds b/vignettes/articles/fits/ecpe-lcdm.rds
index e0432e2..fdfca1d 100644
Binary files a/vignettes/articles/fits/ecpe-lcdm.rds and b/vignettes/articles/fits/ecpe-lcdm.rds differ
diff --git a/vignettes/fits/ecpe-optim-lcdm.rds b/vignettes/fits/ecpe-optim-lcdm.rds
index 3fcfee1..0a960ad 100644
Binary files a/vignettes/fits/ecpe-optim-lcdm.rds and b/vignettes/fits/ecpe-optim-lcdm.rds differ