File: Median-and-Percentiles.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (137 lines) | stat: -rw-r--r-- 6,920 bytes parent folder | download
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
129
130
131
132
133
134
135
136
137
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.

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 the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".

(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library &ndash; Reference Manual: Median and Percentiles</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Median and Percentiles">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Median and Percentiles">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Statistics.html#Statistics" rel="up" title="Statistics">
<link href="Example-statistical-programs.html#Example-statistical-programs" rel="next" title="Example statistical programs">
<link href="Maximum-and-Minimum-values.html#Maximum-and-Minimum-values" rel="previous" title="Maximum and Minimum values">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Median-and-Percentiles"></a>
<div class="header">
<p>
Next: <a href="Example-statistical-programs.html#Example-statistical-programs" accesskey="n" rel="next">Example statistical programs</a>, Previous: <a href="Maximum-and-Minimum-values.html#Maximum-and-Minimum-values" accesskey="p" rel="previous">Maximum and Minimum values</a>, Up: <a href="Statistics.html#Statistics" accesskey="u" rel="up">Statistics</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Median-and-Percentiles-1"></a>
<h3 class="section">21.9 Median and Percentiles</h3>

<p>The median and percentile functions described in this section operate on
sorted data.  For convenience we use <em>quantiles</em>, measured on a scale
of 0 to 1, instead of percentiles (which use a scale of 0 to 100).
</p>
<dl>
<dt><a name="index-gsl_005fstats_005fmedian_005ffrom_005fsorted_005fdata"></a>Function: <em>double</em> <strong>gsl_stats_median_from_sorted_data</strong> <em>(const double <var>sorted_data</var>[], size_t <var>stride</var>, size_t <var>n</var>)</em></dt>
<dd><p>This function returns the median value of <var>sorted_data</var>, a dataset
of length <var>n</var> with stride <var>stride</var>.  The elements of the array
must be in ascending numerical order.  There are no checks to see
whether the data are sorted, so the function <code>gsl_sort</code> should
always be used first.
</p>
<p>When the dataset has an odd number of elements the median is the value
of element <em>(n-1)/2</em>.  When the dataset has an even number of
elements the median is the mean of the two nearest middle values,
elements <em>(n-1)/2</em> and <em>n/2</em>.  Since the algorithm for
computing the median involves interpolation this function always returns
a floating-point number, even for integer data types.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fstats_005fquantile_005ffrom_005fsorted_005fdata"></a>Function: <em>double</em> <strong>gsl_stats_quantile_from_sorted_data</strong> <em>(const double <var>sorted_data</var>[], size_t <var>stride</var>, size_t <var>n</var>, double <var>f</var>)</em></dt>
<dd><p>This function returns a quantile value of <var>sorted_data</var>, a
double-precision array of length <var>n</var> with stride <var>stride</var>.  The
elements of the array must be in ascending numerical order.  The
quantile is determined by the <var>f</var>, a fraction between 0 and 1.  For
example, to compute the value of the 75th percentile <var>f</var> should have
the value 0.75.
</p>
<p>There are no checks to see whether the data are sorted, so the function
<code>gsl_sort</code> should always be used first.
</p>
<p>The quantile is found by interpolation, using the formula
</p>
<div class="example">
<pre class="example">quantile = (1 - \delta) x_i + \delta x_{i+1}
</pre></div>

<p>where <em>i</em> is <code>floor</code>(<em>(n - 1)f</em>) and <em>\delta</em> is
<em>(n-1)f - i</em>.
</p>
<p>Thus the minimum value of the array (<code>data[0*stride]</code>) is given by
<var>f</var> equal to zero, the maximum value (<code>data[(n-1)*stride]</code>) is
given by <var>f</var> equal to one and the median value is given by <var>f</var>
equal to 0.5.  Since the algorithm for computing quantiles involves
interpolation this function always returns a floating-point number, even
for integer data types.
</p></dd></dl>







<hr>
<div class="header">
<p>
Next: <a href="Example-statistical-programs.html#Example-statistical-programs" accesskey="n" rel="next">Example statistical programs</a>, Previous: <a href="Maximum-and-Minimum-values.html#Maximum-and-Minimum-values" accesskey="p" rel="previous">Maximum and Minimum values</a>, Up: <a href="Statistics.html#Statistics" accesskey="u" rel="up">Statistics</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>