<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>ilr. mkin 0.9.42</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="author" content=" René Lehmann and Johannes Ranke "> <link href="css/bootstrap.css" rel="stylesheet"> <link href="css/bootstrap-responsive.css" rel="stylesheet"> <link href="css/highlight.css" rel="stylesheet"> <link href="css/staticdocs.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], processEscapes: true } }); </script> <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> </head> <body> <div class="navbar"> <div class="navbar-inner"> <div class="container"> <a class="brand" href="#">mkin 0.9.42</a> <div class="nav"> <ul class="nav"> <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> </ul> </div> </div> </div> </div> <div class="container"> <header> </header> <h1> Function to perform isometric log-ratio transformation </h1> <div class="row"> <div class="span8"> <h2>Usage</h2> <pre><div>ilr(x) invilr(x)</div></pre> <h2>Arguments</h2> <dl> <dt>x</dt> <dd> A numeric vector. Naturally, the forward transformation is only sensible for vectors with all elements being greater than zero. </dd> </dl> <div class="Description"> <h2>Description</h2> <p>This implementation is a special case of the class of isometric log-ratio transformations.</p> </div> <div class="Value"> <h2>Value</h2> <p><dl> The result of the forward or backward transformation. The returned components always sum to 1 for the case of the inverse log-ratio transformation. </dl></p> </div> <div class="References"> <h2>References</h2> <p>Peter Filzmoser, Karel Hron (2008) Outlier Detection for Compositional Data Using Robust Methods. Math Geosci 40 233-248</p> </div> <h2 id="examples">Examples</h2> <pre class="examples"><div class='input'># Order matters ilr(c(0.1, 1, 10)) </div> <div class='output'>[1] -1.628174 -2.820079 </div> <div class='input'>ilr(c(10, 1, 0.1)) </div> <div class='output'>[1] 1.628174 2.820079 </div> <div class='input'># Equal entries give ilr transformations with zeros as elements ilr(c(3, 3, 3)) </div> <div class='output'>[1] 0 0 </div> <div class='input'># Almost equal entries give small numbers ilr(c(0.3, 0.4, 0.3)) </div> <div class='output'>[1] -0.2034219 0.1174457 </div> <div class='input'># Only the ratio between the numbers counts, not their sum invilr(ilr(c(0.7, 0.29, 0.01))) </div> <div class='output'>[1] 0.70 0.29 0.01 </div> <div class='input'>invilr(ilr(2.1 * c(0.7, 0.29, 0.01))) </div> <div class='output'>[1] 0.70 0.29 0.01 </div> <div class='input'># Inverse transformation of larger numbers gives unequal elements invilr(-10) </div> <div class='output'>[1] 7.213536e-07 9.999993e-01 </div> <div class='input'>invilr(c(-10, 0)) </div> <div class='output'>[1] 7.207415e-07 9.991507e-01 8.486044e-04 </div> <div class='input'># The sum of the elements of the inverse ilr is 1 sum(invilr(c(-10, 0))) </div> <div class='output'>[1] 1 </div> <div class='input'># This is why we do not need all elements of the inverse transformation to go back: a <- c(0.1, 0.3, 0.5) b <- invilr(a) length(b) # Four elements </div> <div class='output'>[1] 4 </div> <div class='input'>ilr(c(b[1:3], 1 - sum(b[1:3]))) # Gives c(0.1, 0.3, 0.5) </div> <div class='output'>[1] 0.1 0.3 0.5 </div></pre> </div> <div class="span4"> <!-- <ul> <li>ilr</li><li>invilr</li> </ul> <ul> <li> manip </li> </ul> --> <h2>See also</h2> Another implementation can be found in R package <code>robCompositions</code>. <h2>Author</h2> René Lehmann and Johannes Ranke </div> </div> <footer> <p class="pull-right"><a href="#">Back to top</a></p> <p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> </footer> </div> </body> </html>