Database-independent scalar functions. Provides additional probability distributions (continuous and discrete), combinatorics, special functions, effect size conversions and interpretation, power analysis, and sample size calculations.
← Function Reference
Continuous Distribution Functions
Scalar functions. For each distribution, four variants are provided: PDF / CDF / Quantile / Rand.
| Function |
Syntax |
Description |
stat_uniform_pdf |
stat_uniform_pdf(x [,a, b]) |
Uniform distribution PDF (default [0,1]) |
stat_uniform_cdf |
stat_uniform_cdf(x [,a, b]) |
Uniform distribution CDF |
stat_uniform_quantile |
stat_uniform_quantile(p [,a, b]) |
Uniform distribution quantile |
stat_uniform_rand |
stat_uniform_rand([a, b]) |
Uniform distribution random number |
Exponential Distribution
| Function |
Syntax |
Description |
stat_exponential_pdf |
stat_exponential_pdf(x [,lambda]) |
Exponential distribution PDF (default lambda=1) |
stat_exponential_cdf |
stat_exponential_cdf(x [,lambda]) |
Exponential distribution CDF |
stat_exponential_quantile |
stat_exponential_quantile(p [,lambda]) |
Exponential distribution quantile |
stat_exponential_rand |
stat_exponential_rand([lambda]) |
Exponential distribution random number |
Gamma Distribution
| Function |
Syntax |
Description |
stat_gamma_pdf |
stat_gamma_pdf(x, shape, scale) |
Gamma distribution PDF |
stat_gamma_cdf |
stat_gamma_cdf(x, shape, scale) |
Gamma distribution CDF |
stat_gamma_quantile |
stat_gamma_quantile(p, shape, scale) |
Gamma distribution quantile |
stat_gamma_rand |
stat_gamma_rand(shape, scale) |
Gamma distribution random number |
Beta Distribution
| Function |
Syntax |
Description |
stat_beta_pdf |
stat_beta_pdf(x, alpha, beta) |
Beta distribution PDF |
stat_beta_cdf |
stat_beta_cdf(x, alpha, beta) |
Beta distribution CDF |
stat_beta_quantile |
stat_beta_quantile(p, alpha, beta) |
Beta distribution quantile |
stat_beta_rand |
stat_beta_rand(alpha, beta) |
Beta distribution random number |
Log-Normal Distribution
| Function |
Syntax |
Description |
stat_lognormal_pdf |
stat_lognormal_pdf(x [,mu, sigma]) |
Log-normal distribution PDF (default mu=0, sigma=1) |
stat_lognormal_cdf |
stat_lognormal_cdf(x [,mu, sigma]) |
Log-normal distribution CDF |
stat_lognormal_quantile |
stat_lognormal_quantile(p [,mu, sigma]) |
Log-normal distribution quantile |
stat_lognormal_rand |
stat_lognormal_rand([mu, sigma]) |
Log-normal distribution random number |
Weibull Distribution
| Function |
Syntax |
Description |
stat_weibull_pdf |
stat_weibull_pdf(x, shape, scale) |
Weibull distribution PDF |
stat_weibull_cdf |
stat_weibull_cdf(x, shape, scale) |
Weibull distribution CDF |
stat_weibull_quantile |
stat_weibull_quantile(p, shape, scale) |
Weibull distribution quantile |
stat_weibull_rand |
stat_weibull_rand(shape, scale) |
Weibull distribution random number |
-- Usage examples
SELECT stat_exponential_cdf(2.0, 0.5); -- Exponential distribution CDF
SELECT stat_gamma_quantile(0.95, 2.0, 1.0); -- Gamma distribution 95th percentile
SELECT stat_beta_pdf(0.3, 2, 5); -- Beta distribution PDF
SELECT stat_weibull_cdf(3.0, 2.0, 1.5); -- Weibull distribution CDF
Discrete Distribution Functions
For each distribution, four variants are provided: PMF / CDF / Quantile / Rand.
Binomial Distribution
| Function |
Syntax |
Description |
stat_binomial_pmf |
stat_binomial_pmf(k, n, p) |
Binomial distribution PMF |
stat_binomial_cdf |
stat_binomial_cdf(k, n, p) |
Binomial distribution CDF |
stat_binomial_quantile |
stat_binomial_quantile(q, n, p) |
Binomial distribution quantile |
stat_binomial_rand |
stat_binomial_rand(n, p) |
Binomial distribution random number |
Poisson Distribution
| Function |
Syntax |
Description |
stat_poisson_pmf |
stat_poisson_pmf(k, lambda) |
Poisson distribution PMF |
stat_poisson_cdf |
stat_poisson_cdf(k, lambda) |
Poisson distribution CDF |
stat_poisson_quantile |
stat_poisson_quantile(q, lambda) |
Poisson distribution quantile |
stat_poisson_rand |
stat_poisson_rand(lambda) |
Poisson distribution random number |
Geometric Distribution
| Function |
Syntax |
Description |
stat_geometric_pmf |
stat_geometric_pmf(k, p) |
Geometric distribution PMF |
stat_geometric_cdf |
stat_geometric_cdf(k, p) |
Geometric distribution CDF |
stat_geometric_quantile |
stat_geometric_quantile(q, p) |
Geometric distribution quantile |
stat_geometric_rand |
stat_geometric_rand(p) |
Geometric distribution random number |
Negative Binomial Distribution
| Function |
Syntax |
Description |
stat_nbinom_pmf |
stat_nbinom_pmf(k, r, p) |
Negative binomial distribution PMF |
stat_nbinom_cdf |
stat_nbinom_cdf(k, r, p) |
Negative binomial distribution CDF |
stat_nbinom_quantile |
stat_nbinom_quantile(q, r, p) |
Negative binomial distribution quantile |
stat_nbinom_rand |
stat_nbinom_rand(r, p) |
Negative binomial distribution random number |
Hypergeometric Distribution
| Function |
Syntax |
Description |
stat_hypergeom_pmf |
stat_hypergeom_pmf(k, N, K, n) |
Hypergeometric distribution PMF |
stat_hypergeom_cdf |
stat_hypergeom_cdf(k, N, K, n) |
Hypergeometric distribution CDF |
stat_hypergeom_quantile |
stat_hypergeom_quantile(q, N, K, n) |
Hypergeometric distribution quantile |
stat_hypergeom_rand |
stat_hypergeom_rand(N, K, n) |
Hypergeometric distribution random number |
Bernoulli Distribution
| Function |
Syntax |
Description |
stat_bernoulli_pmf |
stat_bernoulli_pmf(k, p) |
Bernoulli distribution PMF |
stat_bernoulli_cdf |
stat_bernoulli_cdf(k, p) |
Bernoulli distribution CDF |
stat_bernoulli_quantile |
stat_bernoulli_quantile(q, p) |
Bernoulli distribution quantile |
stat_bernoulli_rand |
stat_bernoulli_rand(p) |
Bernoulli distribution random number |
| Function |
Syntax |
Description |
stat_duniform_pmf |
stat_duniform_pmf(k, a, b) |
Discrete uniform distribution PMF |
stat_duniform_cdf |
stat_duniform_cdf(k, a, b) |
Discrete uniform distribution CDF |
stat_duniform_quantile |
stat_duniform_quantile(q, a, b) |
Discrete uniform distribution quantile |
stat_duniform_rand |
stat_duniform_rand(a, b) |
Discrete uniform distribution random number |
-- Usage examples
SELECT stat_binomial_pmf(3, 10, 0.5); -- P(X=3) for Bin(10, 0.5)
SELECT stat_poisson_cdf(5, 3.0); -- P(X<=5) for Poisson(3)
SELECT stat_hypergeom_pmf(4, 50, 10, 8); -- Hypergeometric distribution
Combinatorics
| Function |
Syntax |
Description |
stat_binomial_coef |
stat_binomial_coef(n, k) |
Binomial coefficient C(n,k) (returns integer) |
stat_log_binomial_coef |
stat_log_binomial_coef(n, k) |
Log binomial coefficient log C(n,k) |
stat_log_factorial |
stat_log_factorial(n) |
Log factorial log(n!) |
SELECT stat_binomial_coef(10, 3); -- -> 120
SELECT stat_log_factorial(100); -- -> 363.739...
Special Functions
| Function |
Syntax |
Description |
stat_lgamma |
stat_lgamma(x) |
Log-gamma function ln Gamma(x) |
stat_tgamma |
stat_tgamma(x) |
Gamma function Gamma(x) |
stat_beta_func |
stat_beta_func(a, b) |
Beta function B(a,b) |
stat_lbeta |
stat_lbeta(a, b) |
Log-beta function ln B(a,b) |
stat_erf |
stat_erf(x) |
Error function erf(x) |
stat_erfc |
stat_erfc(x) |
Complementary error function erfc(x) |
stat_logarithmic_mean |
stat_logarithmic_mean(a, b) |
Logarithmic mean |
SELECT stat_tgamma(5); -- -> 24.0 (= 4!)
SELECT stat_lgamma(10); -- -> 12.8018...
SELECT stat_erf(1.0); -- -> 0.8427...
SELECT stat_logarithmic_mean(2, 8); -- Logarithmic mean
Effect Size Conversions
| Function |
Syntax |
Description |
stat_hedges_j |
stat_hedges_j(n) |
Hedges correction factor J(n) |
stat_t_to_r |
stat_t_to_r(t, df) |
t-value to correlation coefficient r conversion |
stat_d_to_r |
stat_d_to_r(d) |
Cohen's d to correlation coefficient r conversion |
stat_r_to_d |
stat_r_to_d(r) |
Correlation coefficient r to Cohen's d conversion |
stat_eta_squared_ef |
stat_eta_squared_ef(ss_effect, ss_total) |
Eta-squared (effect size) |
stat_partial_eta_sq |
stat_partial_eta_sq(F, df1, df2) |
Partial eta-squared |
stat_omega_squared_ef |
stat_omega_squared_ef(ss_effect, ss_total, ms_error, df_effect) |
Omega-squared (effect size) |
stat_cohens_h |
stat_cohens_h(p1, p2) |
Cohen's h (proportion difference effect size) |
Effect Size Interpretation
| Function |
Syntax |
Return |
Description |
stat_interpret_d |
stat_interpret_d(d) |
TEXT |
Cohen's d interpretation (small/medium/large) |
stat_interpret_r |
stat_interpret_r(r) |
TEXT |
Correlation coefficient interpretation |
stat_interpret_eta2 |
stat_interpret_eta2(eta2) |
TEXT |
Eta-squared interpretation |
SELECT stat_d_to_r(0.5); -- Cohen's d to r conversion
SELECT stat_interpret_d(0.8); -- -> 'large'
SELECT stat_interpret_r(0.3); -- -> 'medium'
SELECT stat_cohens_h(0.6, 0.4); -- Proportion difference effect size
Power Analysis
| Function |
Syntax |
Description |
stat_power_t1 |
stat_power_t1(d, n, alpha) |
One-sample t-test power |
stat_n_t1 |
stat_n_t1(d, power, alpha) |
One-sample t-test required sample size |
stat_power_t2 |
stat_power_t2(d, n1, n2, alpha) |
Two-sample t-test power |
stat_n_t2 |
stat_n_t2(d, power, alpha) |
Two-sample t-test required sample size |
stat_power_prop |
stat_power_prop(p1, p2, n, alpha) |
Proportion test power |
stat_n_prop |
stat_n_prop(p1, p2, power, alpha) |
Proportion test required sample size |
-- Power for effect size d=0.5, n=30, alpha=0.05
SELECT stat_power_t1(0.5, 30, 0.05);
-- Required n for effect size d=0.5, power 80%, alpha=0.05
SELECT stat_n_t1(0.5, 0.8, 0.05);
-- Required sample size for a two-group proportion test
SELECT stat_n_prop(0.5, 0.3, 0.8, 0.05);
Sample Size / Margin of Error
| Function |
Syntax |
Description |
stat_moe_prop |
stat_moe_prop(x, n [,confidence]) |
Margin of error for proportion |
stat_moe_prop_worst |
stat_moe_prop_worst(n [,confidence]) |
Worst-case margin of error (p=0.5) |
stat_n_moe_prop |
stat_n_moe_prop(moe [,confidence [,p]]) |
Required sample size for proportion estimation |
stat_n_moe_mean |
stat_n_moe_mean(moe, sigma [,confidence]) |
Required sample size for mean estimation |
-- Margin of error for 200 successes out of n=400 (95% confidence interval)
SELECT stat_moe_prop(200, 400);
-- Sample size needed to achieve a margin of error within 3%
SELECT stat_n_moe_prop(0.03);
-- Mean estimation: margin of error within 2.0, sigma=15
SELECT stat_n_moe_mean(2.0, 15.0);