Skip to contents

Data Preparation

Functions for preparing and standardizing PCL-5 and CAPS-5 data

check_pcl5_data()
Check PCL-5 item data before starting the workflow
rename_ptsd_columns()
Rename PTSD symptom (= PCL-5 item) columns
rename_caps5_columns()
Rename CAPS-5 symptom columns
binarize_data()
Binarize PCL-5 symptom scores

Diagnostic Scoring

Functions for calculating PTSD diagnoses and total scores

calculate_ptsd_total()
Calculate PTSD total score
create_ptsd_diagnosis_binarized()
Determine PTSD diagnosis based on DSM-5 criteria using binarized scores
create_ptsd_diagnosis_nonbinarized()
Determine PTSD diagnosis based on DSM-5 criteria using non-binarized scores

Analysis Functions

Functions for analyzing optimal symptom combinations

optimize_combinations()
Find optimal symptom combinations for diagnosis (non-hierarchical)
optimize_combinations_clusters()
Find optimal symptom combinations for diagnosis (hierarchical/cluster-based)
apply_symptom_combinations()
Apply pre-specified symptom combinations to new data
score_all_combinations()
Score every candidate symptom combination
analyze_best_six_symptoms_four_required()
Find optimal non-hierarchical six-symptom combinations for PTSD diagnosis
analyze_best_six_symptoms_four_required_clusters()
Find optimal hierarchical six-symptom combinations for PTSD diagnosis

Plateau and Stability

Quantify how many symptom combinations perform indistinguishably well, how stable that plateau is under resampling, and which items are selected more often than chance

compute_plateau()
Find the plateau of near-optimal symptom combinations
bootstrap_stability()
Bootstrap stability of near-optimal symptom combinations
symptom_selection()
Symptom selection across the plateau, against chance
plot_symptom_selection()
Plot symptom selection against the chance baseline
compare_rule_forms()
Compare plateaus and stability across rule forms
print(<ptsdiag_plateau>)
Print method for ptsdiag_plateau objects
print(<ptsdiag_stability>)
Print method for ptsdiag_stability objects
print(<ptsdiag_rule_forms>)
Print method for ptsdiag_rule_forms objects

Multi-Scenario Comparison

Compare multiple optimization scenarios in one call and visualise the results

compare_optimizations()
Run multiple PTSD optimization scenarios in one call
print(<ptsdiag_comparison>)
Print method for ptsdiag_comparison objects
summarize_top_combinations()
Build a tidy comparison table of top combinations across scenarios
symptom_frequency()
Per-symptom inclusion counts across optimization scenarios
plot_symptom_frequency()
Heatmap of PCL-5 symptom selection frequency across optimization scenarios

Diagnostic Metrics and Intervals

Every metric a two-by-two supports, with confidence intervals recomputed from the counts, plus the formatters used to report them

diagnostic_metrics()
All diagnostic accuracy metrics for one or more two-by-two tables
wilson_ci()
Wilson score interval for a binomial proportion
exact_ci()
Clopper-Pearson (exact) interval for a binomial proportion
ba_ci()
Interval for balanced accuracy
lr_ci()
Likelihood ratios with log-normal (Simel) intervals
kappa_ci()
Cohen's kappa for a two-by-two table, with a large-sample interval
five_number()
Five-number summary of a numeric vector, as a one-row data frame
fmt_est_ci()
Format an estimate and its interval for a table
fmt_ratio_ci()
Format a ratio and its interval for a table

Multi-Site Definition Exchange

Share derived symptom definitions across research groups and evaluate them at validation sites — the full derivation-to-validation chain

extract_definitions()
Extract portable symptom definitions from a comparison
write_combinations()
Write symptom combinations to a JSON file
read_combinations()
Read symptom combinations from a JSON file
as_definitions()
Convert imported combination specifications into definitions
evaluate_definitions()
Evaluate symptom definitions against a sample

Multi-Site Transport

Evaluate symptom subsets derived elsewhere and return a releasable summary, without the underlying data ever leaving the site

evaluate_sets()
Evaluate given symptom combinations in one sample
as_set_matrix()
Coerce a combination specification to an integer matrix
icd11_performance()
ICD-11 performance in one sample
icd11_items()
The ICD-11 PTSD criterion as PCL-5 items
transport_plateau()
Summarise a transported plateau for release
write_transport()
Write a return bundle
read_transport()
Read a return bundle
print(<ptsdiag_transport>)
Print method for ptsdiag_transport objects
n_candidates()
Size of a candidate space
chance_baseline()
Chance baseline for each item
set_id_to_items() format_set_items() format_set_labels()
Convert between combination ids and item numbers
pcl5_item_labels()
PCL-5 item labels, in DSM-5-TR order

Summary and Reporting

Functions for creating summaries and comparing diagnostic approaches

summarize_ptsd()
Summarize PTSD scores and diagnoses
summarize_ptsd_changes()
Summarize changes in PTSD diagnostic metrics
create_readable_summary()
Create readable summary of PTSD diagnostic changes
create_icd11_diagnosis()
Apply ICD-11 PTSD diagnostic criteria to PCL-5 data
create_caps5_diagnosis()
Compute CAPS-5 DSM-5-TR PTSD diagnosis
compare_diagnostic_systems()
Compare multiple diagnostic systems against a reference standard

Validation

Model validation methods

holdout_validation()
Perform holdout validation for PTSD diagnostic models
cross_validation()
Perform k-fold cross-validation for PTSD diagnostic models

Datasets

Example and simulated datasets

simulated_ptsd
Simulated PCL-5 (PTSD Checklist) Data
simulated_ptsd_genpop
Simulated General Population PCL-5 Data