stats_duck

Ein Statistik-Toolkit für DuckDB — deskriptive Statistik, Hypothesentests, R-artige Verteilungsfunktionen (d/p/q/r), OLS-Regression mit HC- und Cluster-robusten Standardfehlern, Grammar-of-Graphics-Diagramme (VISUALIZE → Vega-Lite) sowie erstklassige Reader/Writer für SAS-, SPSS- und Stata-Dateien, alles direkt in SQL.

Maintainer: caerbannogwhite

Installation und Laden

INSTALL stats_duck FROM community;
LOAD stats_duck;

Beispiel

-- R-style distribution functions (d/p/q/r for 15+ families):
D SELECT pnorm(1.96) AS p, qt(0.975, 30) AS t_crit, dpois(3, 2.5) AS pmf;
┌────────────────────┬────────────────────┬─────────────────────┐
│ p │ t_crit │ pmf │
│ double │ double │ double │
├────────────────────┼────────────────────┼─────────────────────┤
0.97500210485177962.04227245630123730.21376301724973648
└────────────────────┴────────────────────┴─────────────────────┘
-- OLS regression as an aggregate (one model per GROUP BY), with robust SEs.
-- vcov: 'const' | 'HC0'..'HC3' | 'CR0'/'CR1' (cluster-robust, + a cluster key).
D SELECT (c).term, (c).estimate, (c).std_error
FROM (
SELECT unnest((lm_fit(y, [x1, x2], 'HC1')).coefficients) AS c
FROM my_data
);
-- A clinical "Table 1" over mixed variable types, with between-group tests:
D SELECT * FROM table_one('patients', variables := ['age', 'sex', 'bmi'], by := ['arm']);
-- Grammar-of-graphics: turn a query into a Vega-Lite spec (+ the SQL to feed it):
D VISUALIZE wt AS x, mpg AS y FROM cars DRAW point;

Über stats_duck

The Stats Duck

Ein Statistik-Toolkit, das gängige statistische Arbeitsabläufe in DuckDB-SQL bringt. Alles läuft als Streaming-Aggregate und Skalarfunktionen, skaliert daher auf große Datensätze — und läuft auch in DuckDB-WASM im Browser.

Enthalten

  • Deskriptive Statistiksummary_stats, table_one (die klinische „Table 1“), corr_matrix, meta.
  • Hypothesentests — Ein-/Zwei-Stichproben- und gepaarte t-Tests, einfaktorielle ANOVA, Chi-Quadrat, Mann–Whitney, Wilcoxon-Vorzeichen-Rang, Kolmogorov–Smirnov, Shapiro–Wilk, Anderson–Darling, Jarque–Bera sowie Korrelationstests (Pearson / Spearman / Kendall).
  • Verteilungsfunktionen — R-artige d/p/q/r-Quartette für über 15 Familien (Normal, t, Chi-Quadrat, F, Gamma, Beta, Exponential, Weibull, Lognormal, Poisson, Negative Binomial, Hypergeometrisch, …).
  • Regression — Tabellenfunktionen lm / lm_summary und das Aggregat lm_fit (ein Modell pro GROUP BY) mit klassischen, HC0–HC3 heteroskedastie-konsistenten und CR0/CR1 Cluster-robusten Standardfehlern.
  • Grammar of GraphicsVISUALIZE … DRAW <mark> liefert eine Vega-Lite-v5- Spezifikation plus das SQL, das sie speist.
  • Statistische Dateiformate — erstklassige Reader und Writer für SAS (.sas7bdat, .xpt), SPSS (.sav, .por) und Stata-Dateien, über ReadStat.
  • Resampling und Korrekturbootstrap, adjust_p (Multiples Testen).

Vollständige Funktionsreferenz: https://github.com/KoliStat/the-stats-duck.

Hinzugefügte Funktionen

function_name function_type description comment examples
adjust_p scalar NULL NULL
anderson_darling aggregate NULL NULL
anova_oneway aggregate NULL NULL
bin_edges aggregate NULL NULL
bin_label scalar NULL NULL
bootstrap aggregate NULL NULL
chisq_goodness_of_fit aggregate NULL NULL
chisq_independence aggregate NULL NULL
corr_matrix table NULL NULL
dbeta scalar NULL NULL
dchisq scalar NULL NULL
dexp scalar NULL NULL
df scalar NULL NULL
dgamma scalar NULL NULL
dhyper scalar NULL NULL
dlnorm scalar NULL NULL
dnbinom scalar NULL NULL
dnorm scalar NULL NULL
dpois scalar NULL NULL
dt scalar NULL NULL
dweibull scalar NULL NULL
jarque_bera aggregate NULL NULL
kendall_test aggregate NULL NULL
ks_test_1samp aggregate NULL NULL
ks_test_2samp aggregate NULL NULL
lm table NULL NULL
lm_fit aggregate NULL NULL
lm_summary table NULL NULL
mann_whitney_u aggregate NULL NULL
meta table NULL NULL
pbeta scalar NULL NULL
pchisq scalar NULL NULL
pearson_test aggregate NULL NULL
pexp scalar NULL NULL
pf scalar NULL NULL
pgamma scalar NULL NULL
phyper scalar NULL NULL
plnorm scalar NULL NULL
pnbinom scalar NULL NULL
pnorm scalar NULL NULL
poibin_cdf scalar NULL NULL
ppois scalar NULL NULL
pt scalar NULL NULL
pweibull scalar NULL NULL
qbeta scalar NULL NULL
qchisq scalar NULL NULL
qexp scalar NULL NULL
qf scalar NULL NULL
qgamma scalar NULL NULL
qhyper scalar NULL NULL
qlnorm scalar NULL NULL
qnbinom scalar NULL NULL
qnorm scalar NULL NULL
qpois scalar NULL NULL
qt scalar NULL NULL
qweibull scalar NULL NULL
rbeta scalar NULL NULL
rchisq scalar NULL NULL
read_stat table NULL NULL
read_stat_metadata table NULL NULL
rexp scalar NULL NULL
rf scalar NULL NULL
rgamma scalar NULL NULL
rhyper scalar NULL NULL
rlnorm scalar NULL NULL
rnbinom scalar NULL NULL
rnorm scalar NULL NULL
rpois scalar NULL NULL
rt scalar NULL NULL
rweibull scalar NULL NULL
shapiro_wilk aggregate NULL NULL
sign_test_1samp aggregate NULL NULL
sign_test_paired aggregate NULL NULL
spearman_test aggregate NULL NULL
summary_stats aggregate NULL NULL
table_one table NULL NULL
ttest_1samp aggregate NULL NULL
ttest_2samp aggregate NULL NULL
ttest_paired aggregate NULL NULL
visualize_mark_v1_area scalar NULL NULL
visualize_mark_v1_bar scalar NULL NULL
visualize_mark_v1_boxplot scalar NULL NULL
visualize_mark_v1_density scalar NULL NULL
visualize_mark_v1_errorband scalar NULL NULL
visualize_mark_v1_errorbar scalar NULL NULL
visualize_mark_v1_heatmap scalar NULL NULL
visualize_mark_v1_histogram scalar NULL NULL
visualize_mark_v1_line scalar NULL NULL
visualize_mark_v1_point scalar NULL NULL
visualize_mark_v1_regression scalar NULL NULL
visualize_mark_v1_rule scalar NULL NULL
visualize_mark_v1_text scalar NULL NULL
visualize_mark_v1_tick scalar NULL NULL
visualize_mark_v1_violin scalar NULL NULL
wilcoxon_signed_rank aggregate NULL NULL

Überladene Funktionen

Diese Erweiterung fügt keine Funktionsüberladungen hinzu.

Hinzugefügte Typen

Diese Erweiterung fügt keine Typen hinzu.

Hinzugefügte Einstellungen

Diese Erweiterung fügt keine Einstellungen hinzu.