Clinical data analysis,
done in your browser.
XPT, SAS7BDAT, Stata and more — opened, queried, and plotted at DuckDB speed, without a byte leaving your machine.
table_one()
▶ live
| Characteristic | Placebo | Low Dose | High Dose | Overall |
|---|---|---|---|---|
| Subjects, N | 68 | 68 | 68 | 204 |
| Age, mean (SD) | 71.5 (8.1) | 72.5 (8.3) | 72.5 (7.6) | 72.2 (8.0) |
| Weight (kg), mean (SD) | 78.7 (12.7) | 75.6 (11.2) | 73.9 (10.3) | 76.1 (11.6) |
| Female, n (%) | 34 (50.0%) | 43 (63.2%) | 43 (63.2%) | 120 (58.8%) |
| Male, n (%) | 34 (50.0%) | 25 (36.8%) | 25 (36.8%) | 84 (41.2%) |
table_one() recomputes this in your browser, with p-values and effect sizes.
lm_fit()
▶ live
| Species | Term | Estimate | Std. error | p-value | R² |
|---|---|---|---|---|---|
| Adelie | (Intercept) | 23.07 | 3.03 | <0.001 | 0.15 |
| bill_depth_mm | 0.86 | 0.17 | <0.001 | ||
| Chinstrap | (Intercept) | 13.43 | 5.06 | 0.010 | 0.43 |
| bill_depth_mm | 1.92 | 0.27 | <0.001 | ||
| Gentoo | (Intercept) | 17.23 | 3.28 | <0.001 | 0.41 |
| bill_depth_mm | 2.02 | 0.22 | <0.001 |
Within each species the slope is positive. Pooled over all three species it is −0.65: Figure 1 shows why.
VISUALIZE
▶ live
Two layers:
DRAW point, then DRAW regression with one fitted line per colour.
The portfolio
01
the-stats-duck
Statistics that live in your SQL — a DuckDB extension. The shared analytics layer under Bedevere and KoliLang.
Open source
→
02
Bedevere
Tabular data visualizer and DuckDB SQL editor.
Shipped
→
03
KoliLang
A SAS engine in the browser, via WebAssembly. Byte-parity with SAS for the supported procs.
Live
→