Package: dRiftDM 0.3.2

dRiftDM: Estimating (Time-Dependent) Drift Diffusion Models

Fit and explore Drift Diffusion Models (DDMs), a common tool in psychology for describing decision processes in simple tasks. It can handle both time-independent and time-dependent DDMs. You either choose prebuilt models or create your own, and the package takes care of model predictions and parameter estimation. Model predictions are derived via the numerical solutions provided by Richter, Ulrich, and Janczyk (2023, <doi:10.1016/j.jmp.2023.102756>).

Authors:Valentin Koob [cre, aut, cph], Thomas Richter [aut, cph], Markus Janczyk [aut]

dRiftDM_0.3.2.tar.gz
dRiftDM_0.3.2.zip(r-4.7)dRiftDM_0.3.2.zip(r-4.6)dRiftDM_0.3.2.zip(r-4.5)
dRiftDM_0.3.2.tgz(r-4.6-x86_64)dRiftDM_0.3.2.tgz(r-4.6-arm64)dRiftDM_0.3.2.tgz(r-4.5-x86_64)dRiftDM_0.3.2.tgz(r-4.5-arm64)
dRiftDM_0.3.2.tar.gz(r-4.7-arm64)dRiftDM_0.3.2.tar.gz(r-4.7-x86_64)dRiftDM_0.3.2.tar.gz(r-4.6-arm64)dRiftDM_0.3.2.tar.gz(r-4.6-x86_64)
dRiftDM_0.3.2.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
dRiftDM/json (API)

# Install 'dRiftDM' in R:
install.packages('dRiftDM', repos = c('https://bucky2177.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/bucky2177/driftdm/issues

Pkgdown/docs site:https://bucky2177.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3
Datasets:

On CRAN:

Conda:

cpp

6.83 score 15 stars 9 scripts 185 downloads 41 exports 24 dependencies

Last updated from:8150cee230. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK193
linux-devel-x86_64OK261
source / vignettesOK319
linux-release-arm64OK217
linux-release-x86_64OK215
macos-release-arm64OK152
macos-release-x86_64OK430
macos-oldrel-arm64OK137
macos-oldrel-x86_64OK274
windows-develOK235
windows-releaseOK239
windows-oldrelOK187
wasm-releaseOK156

Exports:b_codingb_coding<-calc_statscheck_discretizationcoef<-comp_funscomp_funs<-component_shelfcondsconds<-cost_functioncost_function<-cost_valueddm_optsddm_opts<-dmc_dmdrift_dmestimate_dmestimate_modelestimate_model_idsflex_prmsflex_prms<-get_example_fitsget_lower_upperload_fits_idsmodify_flex_prmsobs_dataobs_data<-pdfsprms_solveprms_solve<-ratcliff_dmre_evaluate_modelsimulate_datasimulate_tracessimulate_valuessolversolver<-ssp_dmunpack_objunpack_traces

Dependencies:clicodacrayonDEoptimdfoptimgluehmslatticelifecyclemagrittrmirainanonextpbapplypkgconfigprettyunitsprogresspurrrR6rbibutilsRcppRdpackrlangvctrswithr

How To Perform a Model Recovery

Last update: 2025-12-05
Started: 2025-11-17

Introduction to dRiftDM
An Examplary Model | Basic Properties of a Model | Exploring a Model | simulate_traces() | calc_stats() | Changing Model Properties | coef() | prms_solve() | Remark: Discretization Settings | solver() | b_coding() | obs_data() | The summary() Function | Fitting a Model | Fitting a Model Separately to Individual Data Using Classical Optimization Techniques | Remark: Fitting Just One Individual | Fitting a Model to Aggregated Data Using Classical Optimization Techniques | Checking Model Fit | Extracting Parameter Estimates and Fit Statistics | Experimental: Perform Bayesian Parameter Estimation | Simulating Data | Remark: Stripping Away "Unnecesary" Attributes and Class Labels

Last update: 2025-12-01
Started: 2025-02-26

Core DDM Parameters: Impact on RTs and Accuracy

Last update: 2025-11-17
Started: 2025-10-17

How To Customize DDMs
The Model Structure in dRiftDM | Modifying flex_prms objects | Modifying How Each Parameter Behaves Across Conditions | Defining New Conditions | Customizing Component Functions | Example 1: Custom Drift Rate | Example 2: Custom Starting Point (Distribution) | Example 3: Custom Boundary | Example 4: Custom Non-Decision Time | Final Comments | Remark: Trial-by-Trial Variability in the Drift Rate

Last update: 2025-11-17
Started: 2025-02-26

How to Convert DMC's parameters
The Mathematical Equations | Scaling for the Diffusion Constant | Scaling the Time Space | An R Helper Function | References

Last update: 2025-10-17
Started: 2025-02-26

Readme and manuals

Help Manual

Help pageTopics
The Coding of the Boundariesb_coding b_coding.drift_dm b_coding.fits_agg_dm b_coding.fits_ids_dm b_coding<- b_coding<-.drift_dm
Calculate Statisticscalc_stats calc_stats.data.frame calc_stats.drift_dm calc_stats.fits_agg_dm calc_stats.fits_ids_dm print.stats_dm print.stats_dm_list
Check time/space discretization via reference comparisoncheck_discretization check_discretization.drift_dm check_discretization.fits_agg_dm check_discretization.fits_ids_dm
Access Coefficients of a Modelcoef.drift_dm coef.fits_agg_dm coef.fits_ids_dm coef.mcmc_dm coef<- coef<-.drift_dm print.coefs_dm
The Component Functions of A Modelcomp_funs comp_funs.drift_dm comp_funs.fits_agg_dm comp_funs.fits_ids_dm comp_funs<- comp_funs<-.drift_dm
Diffusion Model Componentscomponent_shelf
The Conditions of an Objectconds conds.data.frame conds.drift_dm conds.fits_agg_dm conds.fits_ids_dm conds.traces_dm_list conds<- conds<-.drift_dm
Access/Replace the Cost Function Label and Access the Cost Function Valuecost_function cost_function.drift_dm cost_function.fits_agg_dm cost_function.fits_ids_dm cost_function<- cost_function<-.drift_dm cost_value cost_value.drift_dm cost_value.fits_agg_dm cost_value.fits_ids_dm
Optional Arguments for the Component Functionsddm_opts ddm_opts.drift_dm ddm_opts.fits_agg_dm ddm_opts<- ddm_opts<-.drift_dm
Create the Diffusion Model for Conflict Tasksdmc_dm
A synthetic data set with two conditionsdmc_synth_data
Create a drift_dm objectdrift_dm print.drift_dm
Fit a DDM to Observed Dataestimate_dm print.fits_agg_dm print.fits_ids_dm print.mcmc_dm
Estimate the Parameters of a drift_dm Modelestimate_model
Fit Multiple Individuals and Save Resultsestimate_model_ids
Flex_Prmsflex_prms flex_prms.drift_dm flex_prms.flex_prms flex_prms.numeric flex_prms<- flex_prms<-.drift_dm print.flex_prms
Auxiliary Function to load a 'fits_ids_dm', 'fits_agg_dm', or 'mcmc_dm' objectget_example_fits
Get Default Parameter Ranges for a Modelget_lower_upper get_lower_upper.drift_dm
Plot Parameter Distribution(s)hist.coefs_dm
Load Estimates of a Fit Procedureload_fits_ids
Extract Log-Likelihood for a drift_dm ObjectlogLik.drift_dm
Extract Model Statistics for fits_ids_dm ObjectAIC.fits_ids_dm BIC.fits_ids_dm logLik.fits_ids_dm
Set Instructions to a flex_prms objectmodify_flex_prms modify_flex_prms.drift_dm modify_flex_prms.flex_prms
Get the Number of Observations for a drift_dm Objectnobs.drift_dm
The Observed Dataobs_data obs_data.drift_dm obs_data.fits_agg_dm obs_data.fits_ids_dm obs_data<- obs_data<-.drift_dm
Access the Probability Density Functions of a Modelpdfs pdfs.drift_dm pdfs.fits_agg_dm
Plot Conditional Accuracy Functions (CAFs)plot.cafs
Plot Delta Functionsplot.delta_funs
Plot Distributions of Predicted and Observed Dataplot.densities
Plot Components of a Drift Diffusion Modelplot.drift_dm
Plot MCMC Results and Diagnostics for 'mcmc_dm' Objectsplot.mcmc_dm
Plot Response Time Quantilesplot.quantiles
Plot Multiple Statisticsplot.stats_dm_list
Plot Traces of a Drift Diffusion Modelplot.traces_dm plot.traces_dm_list
Summary and Printing for 'fits_agg_dm' Objectsprint.summary.fits_agg_dm summary.fits_agg_dm
Summary and Printing for fits_ids_dm Objectsprint.summary.fits_ids_dm summary.fits_ids_dm
The Parameters for Deriving Model Predictionsprms_solve prms_solve.drift_dm prms_solve.fits_agg_dm prms_solve.fits_ids_dm prms_solve<- prms_solve<-.drift_dm
Create a Basic Diffusion Modelratcliff_dm
A synthetic data set with one conditionratcliff_synth_data
Re-evaluate the modelre_evaluate_model
Simulate Synthetic Responsessimulate_data simulate_data.drift_dm
Simulate Trajectories/Traces of a Modelprint.traces_dm print.traces_dm_list simulate_traces simulate_traces.drift_dm simulate_traces.fits_agg_dm simulate_traces.fits_ids_dm
Simulate Traces for One Conditionssimulate_traces_one_cond
Simulate Valuessimulate_values
The Solver for Deriving Model Predictionssolver solver.drift_dm solver.fits_agg_dm solver.fits_ids_dm solver<- solver<-.drift_dm
Create the Shrinking Spotlight Modelssp_dm
A synthetic data set with two conditionsssp_synth_data
Summary for 'coefs_dm' Objectsprint.summary.coefs_dm summary.coefs_dm
Summary for 'drift_dm' objectsprint.summary.drift_dm summary.drift_dm
Summarizing Flex Parametersprint.summary.flex_prms summary.flex_prms
Summary for 'mcmc_dm' Objectsprint.summary.mcmc_dm summary.mcmc_dm
Summary for 'stats_dm' Objectsprint.summary.basic_stats print.summary.cafs print.summary.delta_funs print.summary.fit_stats print.summary.quantiles print.summary.stats_dm print.summary.stats_dm_list print.summary.sum_dist summary.basic_stats summary.cafs summary.delta_funs summary.fit_stats summary.quantiles summary.stats_dm summary.stats_dm_list summary.sum_dist
Summary for traces_dm and traces_dm_list Objectsprint.summary.traces_dm print.summary.traces_dm_list summary.traces_dm summary.traces_dm_list
Exemplary Flanker Dataulrich_flanker_data
Exemplary Simon Dataulrich_simon_data
Unpack/Destroy dRiftDM Objectsunpack_obj unpack_obj.coefs_dm unpack_obj.stats_dm unpack_obj.stats_dm_list unpack_obj.traces_dm unpack_obj.traces_dm_list
Unpack/Destroy Traces Objectsunpack_traces unpack_traces.traces_dm unpack_traces.traces_dm_list