No articles match
Getting Started with hvtiR3 days ago
The problem | The members | What you have | Installing and updating | Why it may refuse | Set up a study | Reproducible installs | When something will not install | Why GitHub and not CRAN
From SAS descriptive jobs to R3 days ago
Who this is for | Install once | Open the study first | The map | Five steps for every job | The draft banner and EDIT: markers | Which data a job reads | Descriptive tables and correlations: dc-tables | Goodness of follow-up: dc-gfup | Trends over operation year: dc-trends | EDA report: dc-eda | Where the numbers differ | What is not ported
Building a manuscript table end to end3 days ago
1. Summarize the data | 2. Shape the manuscript table | 3. Or describe the groups side by side | 4. Save and check | What the package refuses
Adopt a study for descriptive and EDA work3 days ago
Open the study as an RStudio Project | Select the R version | Load the study packages | Adopt the existing study | Pin the package environment | Register the existing dataset | If EDA uses a subset | Create the descriptive and EDA jobs | Understand the name | Start with the generally applicable jobs | Work the jobs and generate output | When registered data change
Start a new study3 days ago
Before you start | Create the study | Register the dataset | Scaffold the first EDA job | Render and read the provenance | A first analysis chain: death | Where to go next
Decorating and Saving hvtiPlotR Plots3 days ago
The Composition Pattern | Themes | Manuscript | Poster | Light PowerPoint | Dark PowerPoint | One decorator for a whole deck | Naming the series without a legend | Designing the slide around the figure | Color Scales | Manual colors | ColorBrewer palettes | Suppressing legends | Labels and Annotations | labs() | annotate() | coord_cartesian() | Saving Figures | Manuscript PDF | Poster PDF | PowerPoint slides | Single slide | Multiple slides from a list | Fixed panel placement across slides | Multi-panel PDF (EDA batch output) | Legend Positioning | Inside the panel | Outside the panel (explicit sides) | Suppress all legends | Legend text and key size | Theme Overrides | Axis text size | Removing minor grid lines | Rotating x-axis labels | Adding a plot title and subtitle | Expanding plot margins | Multi-panel Figures with patchwork | Side-by-side plots | Controlling relative widths and heights | Stacking a plot above a risk table | Shared axis labels and panel tags | Saving a patchwork composite
Porting a %summarytable program to R4 days ago
One macro call becomes three | Defaults that differ | A ported call | Parameter map | Why my p-value moved | Percentiles and QNTLDEF | Reading the SAS data in | proc corr
Getting Started with ggBoostedTrees4 days ago
What is this package for? | How is a figure built? | A small fit | Did it converge? | Did the variance structure settle? | Does it track individual subjects? | Does it match the data over follow-up? | Which covariates matter, and how? | Finishing a figure | What about BoostMLR? | Where to go next
Exploring variable importance with varPro8 days ago
What varPro is | Regression: Boston housing | Per-tree importance with gg_varpro() | Partial dependence with gg_partial_varpro() | Per-rule lasso refinement with gg_beta_varpro() | Unsupervised views: see the uvarpro vignette | Anomaly scoring with gg_isopro() | Local importance with gg_ivarpro() | Classification: iris | Class-conditional importance with gg_varpro(conditional = TRUE) | Partial dependence: gg_partial_varpro() on classification | Per-class lasso refinement with gg_beta_varpro() | Survival: PBC | Variable importance: gg_varpro() | Partial dependence: gg_partial_varpro() on survival | Anomaly scoring: gg_isopro() on the X-matrix | Not available for survival: gg_beta_varpro, gg_ivarpro | Small or sparse data | Cross-cutting reference | Family-support matrix | Which variables can you actually get? | Factor-level ordering | Caching the expensive calls | Provenance shape | Further reading | References
varPro on small or sparse data8 days ago
The data | Which variables did varPro test? | What does a z of zero mean? | Reading the importance plot | How much do the settings matter? | Checking against noise | A screen or a selection? | Partial dependence on small data | References
hvtiPlotR Plot Functions9 days ago
Template Reference Map | Mirrored Propensity Score Histogram | Binary-match mode (SAVR vs. TF-TAVR) | Bare plot | Adding scales, labels, and theme | Weighted IPTW mode (Limited vs. Extended) | Bare plot | Adding scales, labels, and theme | Stacked Histogram | Count histogram | Proportion (fill) histogram | Saving | Goodness-of-Follow-Up Plot | Sample data | Death follow-up plot | Adding scales, labels, and annotations | Non-fatal event panel | Several panels over one window | Role colors across panels | Covariate Balance Plot | Adding color, shape, and axis scales | Adding directional annotations and theme | Controlling covariate order | Kaplan-Meier Survival Curve | Survival curve (PLOTS=1) | Numbers at risk and report table | Stratified analysis | Survival curve with a numbers-at-risk table | Cumulative hazard (PLOTC=1) | Log-log survival plot (Weibull/PH check) | Hazard rate (PLOTH=1) | Integrated survivorship / restricted mean survival (PLOTL=1) | RMST Contrast and Curves | Differences by estimator | Weighted curves with the RMST area | Correlation Matrix | EDA Barplots and Scatterplots | Binary categorical: count barplot | Binary categorical: percentage barplot | Ordinal and multi-level categorical | Character categorical | Continuous: scatter + LOESS | Variable selection and labels (varnames template pattern) | Several variables to a page | Saving EDA plots | Alluvial (Sankey) Plot | Fill flows by pre-operative grade | Two-axis before / after comparison | Cluster Stability Sankey Plot | Default plot (K = 2 to 9) | Custom color palette | Subset of K values | CONSORT Patient Flow Diagram | Building a tracker from your own data | The diagram | Auditing the cohort | Hazard Plot | Survival curve with KM overlay | Hazard rate curve | Cumulative hazard | Stratified by group | Life-table overlay | The hv_hazard() object interface | Survival Difference (Life-Gained) Plot | Survival difference curve | Multiple comparisons | The hv_survival_difference() object interface | Number Needed to Treat (NNT) Plot | NNT curve | Absolute risk reduction | The hv_nnt() object interface | Temporal Trend Plot | Single variable: cases/year | Single variable: age | Multiple groups with scale_color_brewer | Median summary + manual colors (NYHA style) | With confidence ribbon | Binary % outcomes (tp.lp.trends.sas) | Age as x-axis (tp.lp.trends.age.sas) | Polytomous groups: repair types (tp.lp.trends.polytomous.sas) | LV mass index (tp.dp.trends.R, plot2) | Case volume / total surgeries per year (tp.dp.trends.R, plot4) | Annotated trend: hospital LOS (tp.dp.trends.R, plot5) | Spaghetti / Profile Plot | Unstratified: AV mean gradient, full range (plot_1) | Unstratified: zoomed y-axis (plot_3) | Stratified by sex: AV mean gradient (plot_2 / plot_4) | AV area y-scale (plot_5 / plot_6) | DVI y-scale (plot_7 / plot_8) | Ordinal y-axis: MV regurgitation grade (plot_9) | With LOESS smooth overlay | Nonparametric Temporal Trend Curve | Single average curve with 68 % CI ribbon | Two-group comparison (analogous to tp.np.avpkgrad_ozak_ind_mtwt.sas) | Nonparametric Ordinal Outcome Curve | Grade probability curves with data summary points | Combined mild + moderate (p34 = p3 + p4 pattern) | Longitudinal Participation Counts | Bar chart | Numeric table panel | Two-panel layout with patchwork | Saving the combined figure | UpSet Plot | Default plot | Custom intersection bar color | Color bars by era | Venn diagram (2-3 sets) | Draft Footnotes | Draft annotation pattern | Custom analyst tag | Saving without the footnote
SAS Template Migration Guide9 days ago
Overview | Key concepts for SAS users | Template lookup table | Nonparametric temporal trends (tp.np.*) | SAS column name mapping | Average curve: binary outcome | Continuous outcome | Multi-group comparison | Phase decomposition | Covariate on the x-axis | Ordinal outcomes | Ordinal multi-scenario comparison | Ordinal phase independence | Ordinal phases | Survival analysis (tp.ac.dead.*, tp.cp.dead.*) | SAS → R argument mapping | Goodness of follow-up (tp.dp.gfup.R) | Covariate balance (tp.lp.propen.cov_balance.R) | Alluvial flow (tp.dp.female_bicus_preAR_sankey.R) | Cluster stability Sankey (PAM analysis) | SAS/R workflow → R equivalent | UpSet plot (tp.complexUpset.R) | Spaghetti / individual trajectories (tp.dp.spaghetti.echo.R) | Unstratified: AV mean gradient full range (plot_1) | Unstratified: zoomed y-axis (plot_3) | Stratified by sex (plot_2 / plot_4) | AV area y-scale (plot_5 / plot_6) | DVI y-scale (plot_7 / plot_8) | Ordinal y-axis: MV regurgitation grade (plot_9) | Correlation matrix (descriptive/dc.tables.ods.sas) | Trends over time (tp.*.trends.*) | tp.rp.trends.sas: cases/year and age (1968–2000 by 4) | tp.lp.trends.sas: binary % outcomes (1970–2000 by 10, y 0–100 by 10) | tp.lp.trends.age.sas: age on x-axis (25–85 by 10, y 0–100 by 20) | tp.lp.trends.polytomous.sas: repair types (1990–1999 by 1, y 0–100 by 10) | tp.dp.trends.R: LV mass index (1995–2015 by 5, y 0–200 by 50) | tp.dp.trends.R: hospital LOS with annotation (1985–2015 by 5, y 0–20 by 5) | Longitudinal patient counts (tp.dp.longitudinal_patients_measures.R) | EDA postage stamps (tp.dp.EDA_barplots_scatterplots*.R) | Mirror histogram (propensity score) | Binary-match mode (tp.lp.mirror-histogram_SAVR-TF-TAVR.R) | Weighted IPTW mode (tp.lp.mirror_histo_before_after_wt.R) | Stacked histogram | Using themes | Saving figures | PowerPoint | PDF / TIFF for journals | Parametric hazard/survival (tp.hs.*) | Parametric survival with KM overlay | Stratified by covariate | Conditional survival after hospital discharge | US life-table overlay | Treatment benefit distribution | Adding new ports | Session info
Introduction to hvtiRpropensity10 days ago
Overview | Sample data | Outcome-model bundles | Propensity score estimation | Binary treatment: ps_logistic() | Multiply-imputed data | Random-forest score: ps_forest() | Ordinal treatment: ps_ordinal() | Nominal treatment: ps_nominal() | Balancing scores for continuous and count exposures | Continuous exposure: bs_continuous() | Count exposure: bs_count() | Propensity score matching | Build the matched object | Diagnostics | Extract the matched dataset | Caliper matching | Matching on the logit with a caliper in SD units | Inverse-probability-of-treatment weighting | ATE weights (default) | ATT and ATC weights | Weight trimming (winsorisation) | Balance statistics and effect estimates | Standardized differences: ps_stddiff() | A permutation reference: ps_stddiff_perm() | Matching-weight difference in means: ps_mw_var() | Restricted mean survival: ps_rmst() | Sensitivity analysis | Overlap and positivity: sa_overlap() | Comparing support rules: ps_support() | Weight-trimming sensitivity sweep: sa_trim_sweep() | E-values: sa_evalue() | Rosenbaum sensitivity bounds: sa_rosenbaum() | Downstream use with hvtiPlotR | Mirror histogram | Covariate balance plot | Session info
Dataset Version Tracking with manifest.yaml10 days ago
The Problem: Datasets Drift | In a Study: Rebuild, Then Update | Setup | Registering Datasets | CSV — automatic row count | Inspecting the manifest | SAS datasets — automatic row count | Excel workbooks — automatic row count | Other formats — supply n_rows explicitly | Verifying Before Every Analysis | Typical script header | What Happens When Data Changes | Collecting all failures at once | Correcting a file | Looking at a Rebuild Before Registering It | Running a Job on the Working File | How a Version Was Produced | A New Pull for a Different Project | What Changed Inside the File? | Policy Recommendations | Session Information
hvtiPlotR: Generating plot.sas Style in R10 days ago
Abstract | About this document | Introduction | The plot.sas macro | SAS → R Quick Reference | Structure and output | Axis labels and scales | Tuple statements: points and error bars | Tuple statements: lines and ribbons | Symbols and colors reference | Device and theme mapping | Generating ggplot2 graphics | Importing the data | Option 1: SAS xport file (recommended when you have SAS access) | Option 2: CSV export (when SAS is not available) | Using the bundled example data | Initialize the figure | Labels | Scales | Points | Error Bars | Lines | Line types | Shapes | Colors | Global Figure Commands | PowerPoint Figures | Themes and Decoration | Saving publication graphics | Manuscript graphics | PowerPoint graphics | Graphics rules to live by | Manuscript figures | PowerPoint figures | Color | What not to include | Conclusions | References | Affiliation:
Coming from SAS11 days ago
Who this is for | The model shift | Idiom translation | Build and derive with study-specific code | Port the downstream dataset, not its first consumer | The traps | Missing sorts low | Character comparison is blank-padded in SAS | SAS has no missing character value | MERGE is not a join | Dates use different origins | Automatic variables do not exist in R | length 4 silently truncates | Verifying your own port
The template catalog12 days ago
What is here | Delivery | Available now | Coming | Where to read more
Work a job12 days ago
Which template do I want? | Add it to the study | Find what you have to change | Render as you go | Render part of a job | When the job stops you | Where to go next
Mathematical Foundations of TemporalHazard13 days ago
Generalized Temporal Decomposition | The parametric family | SAS/C parameter bridge | The six valid cases | Derivation sketch | Additive Multiphase Hazard Model | Model specification | SAS/C bridge | Derived quantities | Constructing phases in R | Additive composition example | Maximum Likelihood Estimation | Log-likelihood under mixed censoring | Internal parameterization | Optimization strategy | Covariates and Phase-Specific Formulas | Global covariates | Phase-specific covariates | Time-varying coefficients | Multiphase vs. time-varying coefficients | Identifiability and Practical Considerations | Parameter identifiability | Numerical stability | Summary of Key Functions | References
Migrating from SAS HAZARD to TemporalHazard13 days ago
Overview | Statement-by-statement mapping | PROC HAZARD DATA= | TIME | EVENT | PARMS | EARLY and CONSTANT covariate blocks | SELECTION | SAS macro equivalents | Full worked example: AVC death after repair | SAS (original) | R equivalent | Data preparation differences | Output object | Prediction | Automated translation with hzr_translate_sas() | Experimental: what it will and will not translate | What it doesn't translate | Known limitations vs. SAS HAZARD | Stepwise variable selection (SELECTION statement) | Per-phase time-varying windows | Output datasets (OUTEST=, OUTVCOV=) | Density / quantile prediction types | Previously listed gaps that have since been closed | Rcpp acceleration note | References
Package Architecture13 days ago
Overview | Source file organization | Function call graph | Key internal functions | Theta vector layout | Phase specification | Decomposition engine | Multi-start optimization | Golden fixture system | Fixture format | Current fixtures | Regenerating fixtures | Testing strategy | Multiphase parity tests | Dataset catalog | Loading datasets | Dataset details | AVC (atrioventricular canal repair) | CABG/KUL (coronary artery bypass grafting) | OMC (open mitral commissurotomy) | TGA (transposition of great arteries) | Valves (primary valve replacement) | SAS/C parameter mapping | Early phase (G1) mapping | Late phase (G3) mapping | Version history | References
Getting Started with hvtiRimputation16 days ago
Why keep a record of what you filled? | Installation | A small example | Fill, then read the record | Which rows did imputation keep? | Indicators for a model | How it was produced | What it refuses | Multiple imputation (prototype) | Where to go next
Getting Started with hvtiRlifetables16 days ago
What is the dashed line? | Why a fitted model, and not a life table? | Choosing a vintage | A small cohort | One curve per patient | The cohort curve | Reporting by group | How much does the vintage matter? | Three things to know before you rely on it | Where to go next
Getting Started with hvtiRbootstrap16 days ago
What is this package for? | A small screen | Resample and fit | How often did each term survive? | What about correlated terms? | Other model families | From a screen to a report | Banding an estimate instead | What matches SAS, and what does not | Where to go next
PROC CONTENTS, MEANS, FREQ and UNIVARIATE in R17 days ago
Four Procedures You Already Run | What Arrived? proc_contents() | Reading the Extra Columns | Where the SAS Original Has More | Type Is Two-Valued, and That Hides Things | Do the Numbers Look Right? proc_means() | Stratifying with class | The Quartile Trap | Logical Columns | Do the Categories Look Right? proc_freq() | Missing Values | The Denominator Trap | Weighted Percentiles and Tests: proc_univariate() | Weighted Quantiles Follow a Different Rule | VARDEF Changes More Than the Variance | Tests for Location and Normality | Did the Extract Change? compare_datasets() | Where the R Version Differs | Checklist | See Also
Explaining a forest: five views of a variable's effect24 days ago
What does this variable do? | The data, and a forest | What the data alone shows | Averaging over everything else: partial dependence | The neighborhood that doesn't exist | How different are they, really? | Where two variables act together | One prediction at a time | Local by construction | Two estimands that are easy to confuse | Which one do you reach for? | What is not here | References
Contributing to hvtiPlotR25 days ago
Development environment setup | Prerequisites | Installing development dependencies | The development workflow loop | Track A: Porting a SAS template | Step 1: Understand the SAS template output | Step 2: Create the R source file | The constructor | The print and plot methods | Step 3: Add a sample-data generator | Step 4: Write roxygen documentation | Step 5: Register in _pkgdown.yml | Step 6: Add a worked example to the plot-functions vignette | Step 7: Add a row to the SAS migration guide | Step 8: Write tests | Step 9: Update NEWS.md | Step 10: Final checklist before opening a PR | Track B: Package infrastructure | Package structure overview | Adding a dependency | Code style and conventions | File and function naming | The bare-ggplot pattern | Tidy evaluation | Testing | Test file layout | Snapshot tests | Running checks | What R CMD CHECK validates | Vignette conventions | Releasing a new version | Session info
Random Forest Survival Analysis with ggRandomForests28 days ago
Work in progress | Introduction | Data: Primary Biliary Cirrhosis (PBC) | Data cleaning | Exploratory data analysis | Kaplan--Meier survival by treatment | Growing a Random Survival Forest | OOB error convergence | OOB predicted survival | Test set predictions | Variable Selection | Variable importance (VIMP) | Minimal depth | Variable Dependence | Variable dependence plots | Partial dependence | Conditional dependence | Partial Dependence Surfaces | Brier Score and CRPS | Conclusion | References
Fitting Hazard Models28 days ago
Intercept-only model: CABG survival (KU Leuven) | Multivariable model: AVC repair | Multiphase model: additive hazard decomposition | Multi-endpoint models: heart valve replacement | Interval and left censoring | Status codes | Mixed censoring example | Interval-censored vs naive right-censored | Convergence troubleshooting | Reading the KM cumulative hazard for starting values | When to fix shape parameters | Signs of overparameterization | Optimizer options | Phase types reference
Master datasets29 days ago
What a master is, and why a view | master.yml | Phase 0: snapshot_master() and lineage from the log | Phases 1 and 2: lift_master() and backfill_corrections(), dry run first | The everyday workflow: propose_correction(), decide_correction(), the stale view | What is not done yet
Migrate a legacy SAS study30 days ago
Complete Clinical Analysis Walkthrough1 months ago
Data preparation | Step 1: Nonparametric baseline | Step 2: Shape fitting (simple to complex) | 2a. Single-phase Weibull | 2b. Two-phase model (early CDF + constant) | 2c. Decomposed hazard | Step 3: Variable screening | 3a. Univariable logistic screening | 3b. Functional form assessment | Step 4: Multivariable model | 4a. Manual specification | 4b. Automated stepwise selection | Step 5: Prediction | 5a. Baseline survival curve | 5b. Sensitivity analysis (risk factor comparison) | Step 6: Validation (decile-of-risk calibration) | Conservation of events check | Why not Cox regression? | Summary
Getting Started with TemporalHazard1 months ago
A first Weibull fit | Prediction workflow | Visualizing predicted survival | Multiphase models | Why multiple phases? | Decomposed hazard visualization | Multiphase survival with Kaplan-Meier overlay | Phase types | Numerical helpers
Inference & Diagnostics1 months ago
Exploratory covariate screening | Quantile calibration with hzr_calibrate() | Nonparametric baselines | Bootstrap confidence intervals | Goodness-of-fit overlay | Decile-of-risk calibration | Sensitivity analysis | Analysis workflow summary
Prediction & Visualization1 months ago
Kaplan-Meier baseline | Prediction types | Parametric survival with KM overlay | Confidence limits on predictions | Decomposed multiphase hazard | Multiphase survival with KM overlay | Patient-specific risk profiles | Multi-endpoint visualization: valves
Simulating Cardiac Surgery Survival Data1 months ago
Overview | Generating the Dataset | Data Structure | Outcome Summary | Integration with r_data_types() and label_map() | Extracting Variable Labels | Preparing Data for Survival Analysis | Reproducibility | Session Information
Random Forest Regression with ggRandomForests1 months ago
Work in progress | Introduction | Data: Boston Housing Values | Exploratory data analysis | Growing a Random Forest | OOB error convergence | OOB predictions | Variable Selection | Variable importance (VIMP) | Minimal depth | SHAP Analysis | SHAP importance | SHAP beeswarm | SHAP dependence | Variable Dependence | Variable dependence plots | Partial dependence | Variable Interactions and Conditioning Plots | Conditioning on a categorical variable | Conditioning on a continuous variable | Partial Dependence Surface | Conclusion | References
Exploring Random Forests with ggRandomForests1 months ago
Error trajectories with gg_error() | Marginal dependence via gg_variable() | Variable importance with gg_vimp() | Balanced conditioning cuts with quantile_pts() | Next steps
Random Forest Classification with ggRandomForests1 months ago
Work in progress | Introduction | Data: Iris Flower Measurements | Exploratory data analysis | Growing a Random Forest | OOB error convergence | OOB predictions | Variable Selection | Variable importance (VIMP) | Minimal depth | SHAP Analysis | SHAP importance | SHAP beeswarm | SHAP dependence | Variable Dependence | Variable dependence plots | Partial dependence | Classification Performance: ROC and AUC | Conclusion | References
Random Hazard Forests with ggRandomForests1 months ago
What changes with counting-process data? | Where did the fitted objects come from? | How do hazard and cumulative hazard differ? | Hazard is local | Why do the hazard curves stop early? | Cumulative hazard adds the local rates | How does discrimination change over time? | Cumulative/dynamic AUC uses cumulative hazard | Incident/dynamic AUC uses hazard | Which variables matter, and when? | Which tree size did the upstream searches select? | OOB risk tuning | OOB iAUC tuning | What does each extractor return? | How can this analysis be reproduced? | Further reading
Variable selection without an outcome: unsupervised varPro1 months ago
Importance without a response | One fit, three views | What depends on what: gg_udependent() | What ranks highest: gg_beta_uvarpro() | Where to draw the line: gg_sdependent() | Reading the three together | References
Getting Started with hvtiRutilities2 months ago
Introduction | Main Functions | Installation | Basic Usage | Automatic Type Conversion with r_data_types() | Transformation Rules | Working with Real Data | Example: mtcars Dataset | Controlling Factor Conversion | Skipping Specific Variables | Binary Variables as Factors | Working with Variable Labels | Extracting and Looking Up Labels | Labeling Derived Variables | Labels Persist Through Transformations | Complete Workflow Example | Handling Missing Data | Advanced Usage | Custom Workflows for Specific Data Types | Integration with Data Import | Best Practices | When to Use r_data_types() | Recommended Settings by Use Case | Checking Results | Summary | Session Information
Data Label Handling Best Practices7 months ago
Why Labels Matter | The Label Lifecycle | Phase 1: Extracting Labels at Ingestion | Detecting Missing Labels | Phase 2: Labeling Derived Variables | Method A: Label the data directly (preferred) | Method B: Update the label map (for reporting) | Which method should I use? | Phase 3: Study-Specific Overrides | Example labels_overrides.yml | Phase 4: Using Labels in Output | Safe single-variable lookup with get_label() | Building a data dictionary | Labels in summary tables | Labels in plots | Complete Workflow | Labels and r_data_types() | Anti-Patterns to Avoid | 1. Hard-coded label replacements in shared code | 2. Creating derived variables without labels | 3. Using match() without error checking | 4. Labeling the map instead of the data | Function Reference | Session Information
Reproducible Seeds in R and SAS7 months ago
The Problem: Scattered Seeds | The Fix: One Seed, One Place | Create a config.yml | Read it in R | Using the Seed with randomForestSRC | Using the Seed with varPro | Read it in SAS | Keeping R and SAS in Sync | How Seeds Work | R | SAS | randomForestSRC / varPro | Implications for Multi-Script Projects | Checklist