Get the code for
Amethyst, a Ruby library/script for essential statistics:
- GitHub
- amethyst
Amethyst
is a small Ruby library/
While it can be used as a library from other Ruby programs, its possibly most interesting use is as a command line filter: it can read the data series to be analyzed from its standard input (one datum per line), and it produces the relevant statistics on its standard output. Typical usage would be something like:
$ produce_some_data | amethyst
For example, statistics on the number of lines of the source files for one of my ongoing creative works at the time of writing:
$ wc -l oppure/ganka/ganka[0-9]* | head -n -1 | amethyst
# count: 43
# min: 48
# max: 274
# mid: 161
# range: 226
# mean: 102.3953488372093
# stddev: 42.266122304343874
# mode(s): 48 51 59 75 79 86 93 102 104
# median: 97
# quartiles: 79 97 110
# IQR: 31
When acting as a filter, Amethyst will check if its standard output has
been redirected/gnuplot
to produce a visual representation of the distribution
of the dataset, including a histogram and a box plot:
$ produce_some_data | amethyst | gnuplot -p
Command line options such as --[no-]histogram
and --[no-]boxplot
can
be used to override the default choices on what to plot (if anything),
and options such as --dumb
can be used to let gnuplot
output a
textual approximation of the plot(s) on the terminal itself.