@@ -44,6 +44,7 @@ The project started around 2014 and was later published under the MIT License. I
4444* Lua 5.1+ friendly
4545* Single-file friendly
4646* Basic descriptive statistics
47+ * Summary statistics helpers
4748* Sampling utilities
4849* Discrete and continuous pseudo-random variables
4950* Compatible with the existing public LuaSF API
@@ -107,6 +108,7 @@ print(stats.mean(values)) -- 3
107108print (stats .stddev (values )) -- sample standard deviation
108109print (stats .median (values )) -- 3
109110print (stats .variance (values )) -- sample variance
111+ print (stats .summary (values ).count ) -- 5
110112```
111113
112114Legacy names are still available:
@@ -138,13 +140,18 @@ print(stats.stvF(values)) -- sample standard deviation
138140
139141### Additional descriptive statistics
140142
141- | Function | Description |
142- | -------------------- | ----------------------------------- |
143- | ` variance(array) ` | Sample variance using ` n - 1 ` |
144- | ` median(array) ` | Median value |
145- | ` min(array) ` | Minimum value |
146- | ` max(array) ` | Maximum value |
147- | ` quantile(array, q) ` | Quantile using linear interpolation |
143+ | Function | Description |
144+ | ---------------------- | ---------------------------------------------------------------------- |
145+ | ` variance(array) ` | Sample variance using ` n - 1 ` |
146+ | ` median(array) ` | Median value |
147+ | ` min(array) ` | Minimum value |
148+ | ` max(array) ` | Maximum value |
149+ | ` quantile(array, q) ` | Quantile using linear interpolation |
150+ | ` mode(array) ` | Most frequent value |
151+ | ` range(array) ` | Difference between maximum and minimum |
152+ | ` iqr(array) ` | Interquartile range |
153+ | ` percentile(array, p) ` | Percentile where ` p ` is between ` 0 ` and ` 100 ` |
154+ | ` summary(array) ` | Summary table with count, min, max, mean, median, variance, and stddev |
148155
149156### Sampling utilities
150157
@@ -202,6 +209,23 @@ for i = 1, #frequencies.counts do
202209end
203210```
204211
212+ ### Summary statistics
213+
214+ ``` lua
215+ local stats = require (" luasf" )
216+
217+ local values = {10 , 12 , 14 , 15 , 18 , 20 }
218+ local result = stats .summary (values )
219+
220+ print (" Count:" , result .count )
221+ print (" Min:" , result .min )
222+ print (" Max:" , result .max )
223+ print (" Mean:" , result .mean )
224+ print (" Median:" , result .median )
225+ print (" Variance:" , result .variance )
226+ print (" Stddev:" , result .stddev )
227+ ```
228+
205229### Normal distribution quality control sample
206230
207231``` lua
@@ -277,6 +301,11 @@ LuaSF/
277301 dice_simulation.lua
278302 normal_quality_control.lua
279303 gamma_distribution.lua
304+ weighted_loot_drop.lua
305+ monte_carlo_pi.lua
306+ poisson_arrivals.lua
307+ binomial_coin_flips.lua
308+ bootstrap_mean.lua
280309 docs/
281310 api.md
282311 .github/
@@ -320,6 +349,11 @@ lua spec/test_sampling.lua
320349lua examples/dice_simulation.lua
321350lua examples/normal_quality_control.lua
322351lua examples/gamma_distribution.lua
352+ lua examples/weighted_loot_drop.lua
353+ lua examples/monte_carlo_pi.lua
354+ lua examples/poisson_arrivals.lua
355+ lua examples/binomial_coin_flips.lua
356+ lua examples/bootstrap_mean.lua
323357```
324358
325359---
@@ -342,11 +376,12 @@ lua examples/gamma_distribution.lua
342376
343377### Planned
344378
345- * Manual GitHub Actions CI
346- * LuaRocks package validation workflow
379+ * Improve GitHub Actions CI with optional automatic checks for pull requests
380+ * Improve LuaRocks validation and publishing workflows
347381* More examples
348382* More statistical helpers
349- * Optional documentation generation
383+ * Lightweight cross-reference with LuaHMF
384+ * Future combinatorics helpers such as ` factorial ` , ` combinations ` , and ` permutations `
350385
351386---
352387
0 commit comments