Skip to contents

Prepare the data

Build paired task data, dichotomize continuous responses and count trials for custom binomial models.

usdt_data_tasks() usdt_data_long() print(<usdt_data>)
Prepare data for hierarchical SDT models
meyen_split()
Dichotomize response times into binary choices
usdt_aggregate()
Count binary responses by group

Estimate descriptive SDT measures

Calculate subject-level SDT quantities without fitting a model.

sdt_moments()
Signal detection measures for each subject

Fit the hierarchical model

Estimate the paired sensitivities with a binomial probit mixed model.

hsdt() summary(<hsdt>) print(<hsdt>)
Fit a hierarchical signal detection theory model

Specify the Bayesian priors

Choose the prior distributions of the Bayesian model and check what they imply.

usdt_priors() print(<usdt_priors>)
Priors for the Bayesian hierarchical SDT model
plot(<usdt_priors>)
Prior predictive check for the Bayesian hierarchical SDT model

Test hypotheses and bootstrap uncertainty

sensitivity_diff() compares mean sensitivities. Latent_cor() estimates their latent correlation. Latent_regression() estimates the intercept and slope. usdt_tests() collects all three hypotheses. usdt_boot() adds parametric bootstrap inference to a fitted uSDT model. usdt_equivalence() tests equivalence, non-inferiority and minimal-effect hypotheses about the same quantities.

usdt_tests() sensitivity_diff() latent_cor() latent_regression()
Test the three core hypotheses of a hierarchical SDT model
usdt_boot()
Parametric bootstrap intervals for hierarchical SDT models
usdt_equivalence() print(<usdt_equivalence>)
Equivalence, non-inferiority and minimal-effect tests

Bayes factors

Test point, directional and interval hypotheses about the difference, correlation and latent regression of a Bayesian fit, and plot their prior and posterior.

usdt_bf() print(<usdt_bf>)
Bayes factors for the hypotheses of a Bayesian hierarchical SDT model
plot(<usdt_bf>)
Plot the prior and posterior of tested quantities

Plan a study

Describe the population a planned study samples from, in either parameterization of the model or from the estimates of a pilot study. Compute the power of the three hypotheses for a number of subjects and of trials per task. Choose the subjects and trials at the lowest cost and find the smallest effect a design detects.

usdt_population() print(<usdt_population>) update(<usdt_population>)
Population values for planning a uSDT study
usdt_power() print(<usdt_power>) summary(<usdt_power>) print(<summary.usdt_power>)
Power of a planned uSDT study
usdt_plan() print(<usdt_plan>)
Plan the subjects and trials of a uSDT study
usdt_mdes() print(<usdt_mdes>)
Smallest effect a uSDT study detects
plot(<usdt_population>) plot(<usdt_power>) plot(<usdt_mdes>) plot(<usdt_plan>)
Plot a population, its power, its smallest effects or a plan

Visualize the fit and estimate reliability

Compare observed and fitted estimates and quantify measurement reliability.

plot(<hsdt>)
Diagnostic and analytical plots for hierarchical SDT models
usdt_reliability() summary(<usdt_reliability>) print(<usdt_reliability>)
Reliability of awareness and influence task measures

Example datasets

Trial-level data from Experiment 2 of Vadillo, Malejka and Shanks (2025).

vadillo_awareness
Awareness data from a probabilistic cuing experiment
vadillo_cuing
Cuing data from a probabilistic cuing experiment