aboutsummaryrefslogtreecommitdiffstats
path: root/info/median.texinfo
blob: 12559026f93e4f386bcb9c1d41fc5b158b21730c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
\input texinfo   @c -*-texinfo-*-

@c %**start of header
@setfilename median.info
@settitle median
@afourpaper
@documentencoding UTF-8
@documentlanguage en
@finalout
@c %**end of header


@dircategory Utilities
@direntry
* median: (median).            Calculate the median values for a set of groups
@end direntry


@copying
Copyright @copyright{} 2014 Mattias Andrée

@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License''.
@end quotation
@end copying

@ifnottex
@node Top
@top median -- Calculate the median values for a set of groups
@insertcopying
@end ifnottex

@titlepage
@title median
@subtitle Calculate the median values for a set of groups
@author by Mattias Andrée (maandree)

@page
@c @center `'
@vskip 0pt plus 1filll
@insertcopying
@end titlepage

@contents



@menu
* Overview::                        Brief overview of @command{median}.
* Invoking::                        Invocation of @command{median}.
* GNU Free Documentation License::  Copying and sharing this manual.
@end menu



@node Overview
@chapter Overview

@command{median} is command line tool for getting the median
values of groups. For each input line it parses the first
column, separated by a blank space, as a value and the remainder
of the line as a key. If the line does not contain a blank
space and entire line is parsed as a value and the key is an
empty string. If the line however contains a blank space it is
included in the key, thus a line contain only a value and a line
contain a value followed by a blank space is not interpreted has
having the same key. @command{median} outputs the median value
for each key. In @command{median}'s current implementation the
keys will be sorted in the output. Keys do not have to be sorted
or groups. @command{median} will do its best to print the median
of in the same format as the input values. The input for a group
is of even number and is numerical the mean value of the two
middle values is used, otherwise the lower of the two middle
values is is used. Of course, if the number of values is odd,
the middle value is always used and it does not matter whether
the input is numerical or not.



@node Invoking
@chapter Invoking

@command{median} is command line filter that does not take any
arguments. See @ref{Overview} for detail about the input and
output format.

Simple example:
@example
$ cat <<EOF | median
> -10
> 2
> 4
> 3
> 50
> EOF
3
@end example

Example with 3 groups, one non-numerical:
@example
$ cat <<EOF | median
> 10 group 1
> 20 group 1
> 01 group 2
> 02 group 2
> a group 3
> b group 3
> c group 3
> d group 3
> EOF
15 group 1
01.5 group 2
b group 3
@end example



@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include fdl.texinfo

@bye