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.9750021048517796 │ 2.0422724563012373 │ 0.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 Statistik —
summary_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_summaryund das Aggregatlm_fit(ein Modell proGROUP BY) mit klassischen, HC0–HC3 heteroskedastie-konsistenten und CR0/CR1 Cluster-robusten Standardfehlern. - Grammar of Graphics —
VISUALIZE … 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 Korrektur —
bootstrap,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.