1497 |
12 Sep 08 |
peter |
1 |
#ifndef _theplu_yat_normalizer_quantile_normalizer_ |
1497 |
12 Sep 08 |
peter |
2 |
#define _theplu_yat_normalizer_quantile_normalizer_ |
1432 |
25 Aug 08 |
peter |
3 |
|
1575 |
14 Oct 08 |
jari |
// $Id$ |
1575 |
14 Oct 08 |
jari |
5 |
|
1432 |
25 Aug 08 |
peter |
6 |
/* |
2119 |
12 Dec 09 |
peter |
Copyright (C) 2008 Jari Häkkinen, Peter Johansson |
4178 |
02 Jun 22 |
peter |
Copyright (C) 2022 Peter Johansson |
1432 |
25 Aug 08 |
peter |
9 |
|
1432 |
25 Aug 08 |
peter |
This file is part of the yat library, http://dev.thep.lu.se/yat |
1432 |
25 Aug 08 |
peter |
11 |
|
1432 |
25 Aug 08 |
peter |
The yat library is free software; you can redistribute it and/or |
1432 |
25 Aug 08 |
peter |
modify it under the terms of the GNU General Public License as |
1486 |
09 Sep 08 |
jari |
published by the Free Software Foundation; either version 3 of the |
1432 |
25 Aug 08 |
peter |
License, or (at your option) any later version. |
1432 |
25 Aug 08 |
peter |
16 |
|
1432 |
25 Aug 08 |
peter |
The yat library is distributed in the hope that it will be useful, |
1432 |
25 Aug 08 |
peter |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
1432 |
25 Aug 08 |
peter |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
1432 |
25 Aug 08 |
peter |
General Public License for more details. |
1432 |
25 Aug 08 |
peter |
21 |
|
1432 |
25 Aug 08 |
peter |
You should have received a copy of the GNU General Public License |
1487 |
10 Sep 08 |
jari |
along with yat. If not, see <http://www.gnu.org/licenses/>. |
1432 |
25 Aug 08 |
peter |
24 |
*/ |
1432 |
25 Aug 08 |
peter |
25 |
|
4186 |
04 Jul 22 |
peter |
26 |
#include "yat/utility/deprecate.h" |
4186 |
04 Jul 22 |
peter |
27 |
|
1432 |
25 Aug 08 |
peter |
28 |
namespace theplu { |
1432 |
25 Aug 08 |
peter |
29 |
namespace yat { |
1432 |
25 Aug 08 |
peter |
30 |
namespace utility { |
4178 |
02 Jun 22 |
peter |
31 |
class MatrixMutable; |
4125 |
14 Jan 22 |
peter |
32 |
class MatrixBase; |
1432 |
25 Aug 08 |
peter |
33 |
} |
1497 |
12 Sep 08 |
peter |
34 |
namespace normalizer { |
1432 |
25 Aug 08 |
peter |
35 |
|
1432 |
25 Aug 08 |
peter |
36 |
/** |
1518 |
21 Sep 08 |
peter |
\brief Perform quantile normalization |
1432 |
25 Aug 08 |
peter |
38 |
|
1577 |
14 Oct 08 |
peter |
After a quantile normalization each column has the same |
1577 |
14 Oct 08 |
peter |
distribution of data (the quantiles are the same). Also, within |
1577 |
14 Oct 08 |
peter |
each column the rank of an element is not changed. The |
1577 |
14 Oct 08 |
peter |
distribution that each column follows is determined by taking the |
1577 |
14 Oct 08 |
peter |
average across columns, i.e., the largest element in each column |
1577 |
14 Oct 08 |
peter |
will be equal to the average of the largest elements. The 2nd |
1577 |
14 Oct 08 |
peter |
largest element in each column will be equal to the average of |
1578 |
14 Oct 08 |
peter |
the 2nd largest element in each column et cetera. |
1577 |
14 Oct 08 |
peter |
47 |
|
1577 |
14 Oct 08 |
peter |
There is currently no weighted version of QuantileNormalizer |
1577 |
14 Oct 08 |
peter |
49 |
|
1432 |
25 Aug 08 |
peter |
\since New in yat 0.5 |
4186 |
04 Jul 22 |
peter |
51 |
|
4186 |
04 Jul 22 |
peter |
\deprecated Provided for backward compatibility with the 0.19 |
4186 |
04 Jul 22 |
peter |
API. Use QuantileNormalizer2 instead. |
1432 |
25 Aug 08 |
peter |
54 |
*/ |
4252 |
18 Nov 22 |
peter |
55 |
class YAT_DEPRECATE QuantileNormalizer |
1432 |
25 Aug 08 |
peter |
56 |
{ |
1432 |
25 Aug 08 |
peter |
57 |
public: |
1432 |
25 Aug 08 |
peter |
58 |
/** |
1577 |
14 Oct 08 |
peter |
\brief perform the quantile normalization. |
1453 |
29 Aug 08 |
peter |
60 |
|
1577 |
14 Oct 08 |
peter |
It is possible to normalize "in place"; it is permissible for |
1577 |
14 Oct 08 |
peter |
\a matrix and \a result to reference to the same Matrix. |
1577 |
14 Oct 08 |
peter |
63 |
|
1518 |
21 Sep 08 |
peter |
\note dimensions of \a matrix and \a result must match. |
1432 |
25 Aug 08 |
peter |
65 |
*/ |
4125 |
14 Jan 22 |
peter |
66 |
void operator()(const utility::MatrixBase& matrix, |
4186 |
04 Jul 22 |
peter |
67 |
utility::MatrixMutable& result) const YAT_DEPRECATE_GCC_PRE4_3; |
1432 |
25 Aug 08 |
peter |
68 |
}; |
1432 |
25 Aug 08 |
peter |
69 |
|
1497 |
12 Sep 08 |
peter |
70 |
}}} // end of namespace normalizer, yat and thep |
1432 |
25 Aug 08 |
peter |
71 |
#endif |