1983 lines
2.3 MiB
HTML
Raw Normal View History

2025-01-12 00:52:51 +08:00
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="author" content="Tal Galili" />
<meta name="date" content="2024-11-15" />
<title>Introduction to dendextend</title>
<script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
// be compatible with the behavior of Pandoc < 2.8).
document.addEventListener('DOMContentLoaded', function(e) {
var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
var i, h, a;
for (i = 0; i < hs.length; i++) {
h = hs[i];
if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
a = h.attributes;
while (a.length > 0) h.removeAttribute(a[0].name);
}
});
</script>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
</style>
<style type="text/css">
code {
white-space: pre;
}
.sourceCode {
overflow: visible;
}
</style>
<style type="text/css" data-origin="pandoc">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; }
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; }
code span.at { color: #7d9029; }
code span.bn { color: #40a070; }
code span.bu { color: #008000; }
code span.cf { color: #007020; font-weight: bold; }
code span.ch { color: #4070a0; }
code span.cn { color: #880000; }
code span.co { color: #60a0b0; font-style: italic; }
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; }
code span.do { color: #ba2121; font-style: italic; }
code span.dt { color: #902000; }
code span.dv { color: #40a070; }
code span.er { color: #ff0000; font-weight: bold; }
code span.ex { }
code span.fl { color: #40a070; }
code span.fu { color: #06287e; }
code span.im { color: #008000; font-weight: bold; }
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; }
code span.kw { color: #007020; font-weight: bold; }
code span.op { color: #666666; }
code span.ot { color: #007020; }
code span.pp { color: #bc7a00; }
code span.sc { color: #4070a0; }
code span.ss { color: #bb6688; }
code span.st { color: #4070a0; }
code span.va { color: #19177c; }
code span.vs { color: #4070a0; }
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; }
</style>
<script>
// apply pandoc div.sourceCode style to pre.sourceCode instead
(function() {
var sheets = document.styleSheets;
for (var i = 0; i < sheets.length; i++) {
if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue;
try { var rules = sheets[i].cssRules; } catch (e) { continue; }
var j = 0;
while (j < rules.length) {
var rule = rules[j];
// check if there is a div.sourceCode rule
if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") {
j++;
continue;
}
var style = rule.style.cssText;
// check if color or background-color is set
if (rule.style.color === '' && rule.style.backgroundColor === '') {
j++;
continue;
}
// replace div.sourceCode by a pre.sourceCode rule
sheets[i].deleteRule(j);
sheets[i].insertRule('pre.sourceCode{' + style + '}', j);
}
}
})();
</script>
<style type="text/css">body {
background-color: #fff;
margin: 1em auto;
max-width: 700px;
overflow: visible;
padding-left: 2em;
padding-right: 2em;
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.35;
}
#TOC {
clear: both;
margin: 0 0 10px 10px;
padding: 4px;
width: 400px;
border: 1px solid #CCCCCC;
border-radius: 5px;
background-color: #f6f6f6;
font-size: 13px;
line-height: 1.3;
}
#TOC .toctitle {
font-weight: bold;
font-size: 15px;
margin-left: 5px;
}
#TOC ul {
padding-left: 40px;
margin-left: -1.5em;
margin-top: 5px;
margin-bottom: 5px;
}
#TOC ul ul {
margin-left: -2em;
}
#TOC li {
line-height: 16px;
}
table {
margin: 1em auto;
border-width: 1px;
border-color: #DDDDDD;
border-style: outset;
border-collapse: collapse;
}
table th {
border-width: 2px;
padding: 5px;
border-style: inset;
}
table td {
border-width: 1px;
border-style: inset;
line-height: 18px;
padding: 5px 5px;
}
table, table th, table td {
border-left-style: none;
border-right-style: none;
}
table thead, table tr.even {
background-color: #f7f7f7;
}
p {
margin: 0.5em 0;
}
blockquote {
background-color: #f6f6f6;
padding: 0.25em 0.75em;
}
hr {
border-style: solid;
border: none;
border-top: 1px solid #777;
margin: 28px 0;
}
dl {
margin-left: 0;
}
dl dd {
margin-bottom: 13px;
margin-left: 13px;
}
dl dt {
font-weight: bold;
}
ul {
margin-top: 0;
}
ul li {
list-style: circle outside;
}
ul ul {
margin-bottom: 0;
}
pre, code {
background-color: #f7f7f7;
border-radius: 3px;
color: #333;
white-space: pre-wrap;
}
pre {
border-radius: 3px;
margin: 5px 0px 10px 0px;
padding: 10px;
}
pre:not([class]) {
background-color: #f7f7f7;
}
code {
font-family: Consolas, Monaco, 'Courier New', monospace;
font-size: 85%;
}
p > code, li > code {
padding: 2px 0px;
}
div.figure {
text-align: center;
}
img {
background-color: #FFFFFF;
padding: 2px;
border: 1px solid #DDDDDD;
border-radius: 3px;
border: 1px solid #CCCCCC;
margin: 0 5px;
}
h1 {
margin-top: 0;
font-size: 35px;
line-height: 40px;
}
h2 {
border-bottom: 4px solid #f7f7f7;
padding-top: 10px;
padding-bottom: 2px;
font-size: 145%;
}
h3 {
border-bottom: 2px solid #f7f7f7;
padding-top: 10px;
font-size: 120%;
}
h4 {
border-bottom: 1px solid #f7f7f7;
margin-left: 8px;
font-size: 105%;
}
h5, h6 {
border-bottom: 1px solid #ccc;
font-size: 105%;
}
a {
color: #0033dd;
text-decoration: none;
}
a:hover {
color: #6666ff; }
a:visited {
color: #800080; }
a:visited:hover {
color: #BB00BB; }
a[href^="http:"] {
text-decoration: underline; }
a[href^="https:"] {
text-decoration: underline; }
code > span.kw { color: #555; font-weight: bold; }
code > span.dt { color: #902000; }
code > span.dv { color: #40a070; }
code > span.bn { color: #d14; }
code > span.fl { color: #d14; }
code > span.ch { color: #d14; }
code > span.st { color: #d14; }
code > span.co { color: #888888; font-style: italic; }
code > span.ot { color: #007020; }
code > span.al { color: #ff0000; font-weight: bold; }
code > span.fu { color: #900; font-weight: bold; }
code > span.er { color: #a61717; background-color: #e3d2d2; }
</style>
</head>
<body>
<h1 class="title toc-ignore">Introduction to dendextend</h1>
<h4 class="author">Tal Galili</h4>
<h4 class="date">2024-11-15</h4>
<div id="TOC">
<ul>
<li><a href="#introduction" id="toc-introduction">Introduction</a></li>
<li><a href="#prerequisites" id="toc-prerequisites">Prerequisites</a>
<ul>
<li><a href="#acknowledgement" id="toc-acknowledgement">Acknowledgement</a></li>
<li><a href="#chaining" id="toc-chaining">Chaining</a></li>
<li><a href="#a-dendrogram-is-a-nested-list-of-lists-with-attributes" id="toc-a-dendrogram-is-a-nested-list-of-lists-with-attributes">A
dendrogram is a nested list of lists with attributes</a></li>
<li><a href="#installation" id="toc-installation">Installation</a></li>
</ul></li>
<li><a href="#how-to-explore-a-dendrograms-parameters" id="toc-how-to-explore-a-dendrograms-parameters">How to explore a
dendrograms parameters</a>
<ul>
<li><a href="#taking-a-first-look-at-a-dendrogram" id="toc-taking-a-first-look-at-a-dendrogram">Taking a first look at a
dendrogram</a></li>
<li><a href="#getting-nodes-attributes-in-a-depth-first-search" id="toc-getting-nodes-attributes-in-a-depth-first-search">Getting nodes
attributes in a depth-first search</a></li>
</ul></li>
<li><a href="#how-to-change-a-dendrogram" id="toc-how-to-change-a-dendrogram">How to change a dendrogram</a>
<ul>
<li><a href="#the-set-function" id="toc-the-set-function">The “set”
function</a></li>
<li><a href="#two-simple-trees-to-play-with" id="toc-two-simple-trees-to-play-with">Two simple trees to play
with</a></li>
<li><a href="#setting-a-dendrograms-labels" id="toc-setting-a-dendrograms-labels">Setting a dendrograms
labels</a></li>
<li><a href="#setting-a-dendrograms-nodesleaves-points" id="toc-setting-a-dendrograms-nodesleaves-points">Setting a dendrograms
nodes/leaves (points)</a></li>
<li><a href="#setting-a-dendrograms-branches" id="toc-setting-a-dendrograms-branches">Setting a dendrograms
branches</a></li>
<li><a href="#changing-a-dendrograms-structure" id="toc-changing-a-dendrograms-structure">Changing a dendrograms
structure</a></li>
<li><a href="#adding-extra-bars-and-rectangles" id="toc-adding-extra-bars-and-rectangles">Adding extra bars and
rectangles</a></li>
</ul></li>
<li><a href="#ggplot2-integration" id="toc-ggplot2-integration">ggplot2
integration</a></li>
<li><a href="#enhancing-other-packages" id="toc-enhancing-other-packages">Enhancing other packages</a>
<ul>
<li><a href="#dendser" id="toc-dendser">DendSer</a></li>
<li><a href="#gplots" id="toc-gplots">gplots</a></li>
<li><a href="#nmf" id="toc-nmf">NMF</a></li>
<li><a href="#heatmaply" id="toc-heatmaply">heatmaply</a></li>
<li><a href="#dynamictreecut" id="toc-dynamictreecut">dynamicTreeCut</a></li>
<li><a href="#pvclust" id="toc-pvclust">pvclust</a></li>
<li><a href="#circlize" id="toc-circlize">circlize</a></li>
</ul></li>
<li><a href="#comparing-two-dendrograms" id="toc-comparing-two-dendrograms">Comparing two dendrograms</a>
<ul>
<li><a href="#dendlist" id="toc-dendlist">dendlist</a></li>
<li><a href="#dend_diff" id="toc-dend_diff">dend_diff</a></li>
<li><a href="#tanglegram" id="toc-tanglegram">tanglegram</a></li>
<li><a href="#correlation-measures" id="toc-correlation-measures">Correlation measures</a></li>
<li><a href="#the-fowlkes-mallows-index-and-the-bk-plot" id="toc-the-fowlkes-mallows-index-and-the-bk-plot">The Fowlkes-Mallows
Index and the Bk plot</a></li>
</ul></li>
<li><a href="#session-info" id="toc-session-info">Session info</a></li>
</ul>
</div>
<!--
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{Introduction to dendextend}
-->
<p><strong>Author</strong>: Tal Galili (homepage: r-statistics.com,
e-mail: <a href="mailto:Tal.Galili@gmail.com" class="email">Tal.Galili@gmail.com</a> )</p>
<p><strong>tl;dr</strong>: the <a href="https://cran.r-project.org/package=dendextend"><em>dendextend
package</em></a> lets you create figures like this:</p>
<p><img role="img" src="data:image/png;base64,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
<div id="introduction" class="section level2">
<h2>Introduction</h2>
<p>The <a href="https://cran.r-project.org/package=dendextend"><strong><em>dendextend
package</em></strong></a> offers a set of functions for extending
dendrogram objects in R, letting you <strong>visualize</strong> and
<strong>compare</strong> trees of hierarchical clusterings, you can:</p>
<ul>
<li><strong>Adjust a trees graphical parameters</strong> - the color,
size, type, etc of its branches, nodes and labels.</li>
<li>Visually and statistically <strong>compare different
dendrograms</strong> to one another.</li>
</ul>
<p>The goal of this document is to introduce you to the basic functions
that dendextend provides, and show how they may be applied. We will make
extensive use of “chaining” (explained next).</p>
</div>
<div id="prerequisites" class="section level2">
<h2>Prerequisites</h2>
<div id="acknowledgement" class="section level3">
<h3>Acknowledgement</h3>
<p>This package was made possible by the the support of my thesis
adviser <a href="http://www.math.tau.ac.il/~ybenja/">Yoav Benjamini</a>,
as well as code contributions from many R users. They are:</p>
<pre><code>#&gt; [1] &quot;Tal Galili &lt;tal.galili@gmail.com&gt; [aut, cre, cph] (https://www.r-statistics.com)&quot;
#&gt; [2] &quot;Gavin Simpson [ctb]&quot;
#&gt; [3] &quot;Gregory Jefferis &lt;jefferis@gmail.com&gt; [ctb] (imported code from his dendroextras package)&quot;
#&gt; [4] &quot;Marco Gallotta [ctb] (a.k.a: marcog)&quot;
#&gt; [5] &quot;Johan Renaudie [ctb] (https://github.com/plannapus)&quot;
#&gt; [6] &quot;R core team [ctb] (Thanks for the Infastructure, and code in the examples)&quot;
#&gt; [7] &quot;Kurt Hornik [ctb]&quot;
#&gt; [8] &quot;Uwe Ligges [ctb]&quot;
#&gt; [9] &quot;Andrej-Nikolai Spiess [ctb]&quot;
#&gt; [10] &quot;Steve Horvath &lt;SHorvath@mednet.ucla.edu&gt; [ctb]&quot;
#&gt; [11] &quot;Peter Langfelder &lt;Peter.Langfelder@gmail.com&gt; [ctb]&quot;
#&gt; [12] &quot;skullkey [ctb]&quot;
#&gt; [13] &quot;Mark Van Der Loo &lt;mark.vanderloo@gmail.com&gt; [ctb] (https://github.com/markvanderloo d3dendrogram)&quot;
#&gt; [14] &quot;Yoav Benjamini [ths]&quot;</code></pre>
<p>The <strong>design</strong> of the dendextend package (and this
manual!) is heavily inspired by <a href="https://hadley.nz/">Hadley
Wickhams</a> work. Especially his text on <a href="https://r-pkgs.org/">writing an R package</a>, the <a href="https://cran.r-project.org/package=devtools">devtools package</a>,
and the dplyr package (specifically the use of chaining, and the <a href="https://CRAN.R-project.org/package=dplyr/vignettes/dplyr.html">Introduction
text to dplyr</a>).</p>
</div>
<div id="chaining" class="section level3">
<h3>Chaining</h3>
<p>Function calls in dendextend often get a dendrogram and returns a
(modified) dendrogram. This doesnt lead to particularly elegant code if
you want to do many operations at once. The same is true even in the
first stage of creating a dendrogram.</p>
<p>In order to construct a dendrogram, you will (often) need to go
through several steps. You can either do so while keeping the
intermediate results:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1" tabindex="-1"></a>d1 <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>) <span class="co"># some data</span></span>
<span id="cb2-2"><a href="#cb2-2" tabindex="-1"></a>d2 <span class="ot">&lt;-</span> <span class="fu">dist</span>(d1)</span>
<span id="cb2-3"><a href="#cb2-3" tabindex="-1"></a>d3 <span class="ot">&lt;-</span> <span class="fu">hclust</span>(d2, <span class="at">method =</span> <span class="st">&quot;average&quot;</span>)</span>
<span id="cb2-4"><a href="#cb2-4" tabindex="-1"></a>dend <span class="ot">&lt;-</span> <span class="fu">as.dendrogram</span>(d3)</span></code></pre></div>
<p>Or, you can also wrap the function calls inside each other:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1" tabindex="-1"></a>dend <span class="ot">&lt;-</span> <span class="fu">as.dendrogram</span>(<span class="fu">hclust</span>(<span class="fu">dist</span>(<span class="fu">c</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>)), <span class="at">method =</span> <span class="st">&quot;average&quot;</span>))</span></code></pre></div>
<p>However, both solutions are not ideal: the first solution includes
redundant intermediate objects, while the second is difficult to read
(since the order of the operations is from inside to out, while the
arguments are a long way away from the function).</p>
<p>To get around this problem, dendextend encourages the use of the
<code>%&gt;%</code> (“pipe” or “chaining”) operator (imported from the
magrittr package). This turns <code>x %&gt;% f(y)</code> into
<code>f(x, y)</code> so you can use it to rewrite (“chain”) multiple
operations such that they can be read from left-to-right,
top-to-bottom.</p>
<p>For example, the following will be written as it would be
explained:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1" tabindex="-1"></a>dend <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>) <span class="sc">%&gt;%</span> <span class="co"># take the a vector from 1 to 5</span></span>
<span id="cb4-2"><a href="#cb4-2" tabindex="-1"></a> dist <span class="sc">%&gt;%</span> <span class="co"># calculate a distance matrix, </span></span>
<span id="cb4-3"><a href="#cb4-3" tabindex="-1"></a> <span class="fu">hclust</span>(<span class="at">method =</span> <span class="st">&quot;average&quot;</span>) <span class="sc">%&gt;%</span> <span class="co"># on it compute hierarchical clustering using the &quot;average&quot; method, </span></span>
<span id="cb4-4"><a href="#cb4-4" tabindex="-1"></a> as.dendrogram <span class="co"># and lastly, turn that object into a dendrogram.</span></span></code></pre></div>
<p>For more details, you may look at:</p>
<ul>
<li><a href="https://cran.r-project.org/package=magrittr">magrittr on
CRAN</a></li>
<li><a href="https://CRAN.R-project.org/package=magrittr/vignettes/magrittr.html">Introduction
to the magrittr package</a></li>
<li><a href="https://www.r-statistics.com/2014/08/simpler-r-coding-with-pipes-the-present-and-future-of-the-magrittr-package/">Simpler
R coding with pipes &gt; the present and future of the magrittr
package</a></li>
</ul>
</div>
<div id="a-dendrogram-is-a-nested-list-of-lists-with-attributes" class="section level3">
<h3>A dendrogram is a nested list of lists with attributes</h3>
<p>The first step is working with dendrograms, is to understand that
they are just a <strong>nested list of lists with attributes</strong>.
Let us explore this for the following (tiny) tree:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1" tabindex="-1"></a><span class="co"># Create a dend:</span></span>
<span id="cb5-2"><a href="#cb5-2" tabindex="-1"></a>dend <span class="ot">&lt;-</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">2</span> <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb5-3"><a href="#cb5-3" tabindex="-1"></a><span class="co"># and plot it:</span></span>
<span id="cb5-4"><a href="#cb5-4" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> plot</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>And here is its structure (a nested list of lists with
attributes):</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> unclass <span class="sc">%&gt;%</span> str</span></code></pre></div>
<pre><code>#&gt; List of 2
#&gt; $ : int 1
#&gt; ..- attr(*, &quot;label&quot;)= int 1
#&gt; ..- attr(*, &quot;members&quot;)= int 1
#&gt; ..- attr(*, &quot;height&quot;)= num 0
#&gt; ..- attr(*, &quot;leaf&quot;)= logi TRUE
#&gt; $ : int 2
#&gt; ..- attr(*, &quot;label&quot;)= int 2
#&gt; ..- attr(*, &quot;members&quot;)= int 1
#&gt; ..- attr(*, &quot;height&quot;)= num 0
#&gt; ..- attr(*, &quot;leaf&quot;)= logi TRUE
#&gt; - attr(*, &quot;members&quot;)= int 2
#&gt; - attr(*, &quot;midpoint&quot;)= num 0.5
#&gt; - attr(*, &quot;height&quot;)= num 1</code></pre>
<div class="sourceCode" id="cb8"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb8-1"><a href="#cb8-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> class</span></code></pre></div>
<pre><code>#&gt; [1] &quot;dendrogram&quot;</code></pre>
</div>
<div id="installation" class="section level3">
<h3>Installation</h3>
<p>To install the stable version on CRAN use:</p>
<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="#cb10-1" tabindex="-1"></a><span class="fu">install.packages</span>(<span class="st">&#39;dendextend&#39;</span>)</span></code></pre></div>
<p>To install the GitHub version:</p>
<div class="sourceCode" id="cb11"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb11-1"><a href="#cb11-1" tabindex="-1"></a>require2 <span class="ot">&lt;-</span> <span class="cf">function</span> (package, ...) {</span>
<span id="cb11-2"><a href="#cb11-2" tabindex="-1"></a> <span class="cf">if</span> (<span class="sc">!</span><span class="fu">require</span>(package)) <span class="fu">install.packages</span>(package); <span class="fu">library</span>(package)</span>
<span id="cb11-3"><a href="#cb11-3" tabindex="-1"></a>}</span>
<span id="cb11-4"><a href="#cb11-4" tabindex="-1"></a></span>
<span id="cb11-5"><a href="#cb11-5" tabindex="-1"></a><span class="do">## require2(&#39;installr&#39;)</span></span>
<span id="cb11-6"><a href="#cb11-6" tabindex="-1"></a><span class="do">## install.Rtools() # run this if you are using Windows and don&#39;t have Rtools installed</span></span>
<span id="cb11-7"><a href="#cb11-7" tabindex="-1"></a></span>
<span id="cb11-8"><a href="#cb11-8" tabindex="-1"></a><span class="co"># Load devtools:</span></span>
<span id="cb11-9"><a href="#cb11-9" tabindex="-1"></a><span class="fu">require2</span>(<span class="st">&quot;devtools&quot;</span>)</span>
<span id="cb11-10"><a href="#cb11-10" tabindex="-1"></a>devtools<span class="sc">::</span><span class="fu">install_github</span>(<span class="st">&#39;talgalili/dendextend&#39;</span>)</span>
<span id="cb11-11"><a href="#cb11-11" tabindex="-1"></a><span class="sc">&lt;!--</span> <span class="fu">require2</span>(<span class="st">&quot;Rcpp&quot;</span>) <span class="sc">-</span><span class="ot">-&gt;</span></span>
<span id="cb11-12"><a href="#cb11-12" tabindex="-1"></a></span>
<span id="cb11-13"><a href="#cb11-13" tabindex="-1"></a><span class="co"># Having colorspace is also useful, since it is used</span></span>
<span id="cb11-14"><a href="#cb11-14" tabindex="-1"></a><span class="co"># In various examples in the vignettes</span></span>
<span id="cb11-15"><a href="#cb11-15" tabindex="-1"></a><span class="fu">require2</span>(<span class="st">&quot;colorspace&quot;</span>)</span></code></pre></div>
<p>And then you may load the package using:</p>
<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="#cb12-1" tabindex="-1"></a><span class="fu">library</span>(dendextend)</span></code></pre></div>
</div>
</div>
<div id="how-to-explore-a-dendrograms-parameters" class="section level2">
<h2>How to explore a dendrograms parameters</h2>
<div id="taking-a-first-look-at-a-dendrogram" class="section level3">
<h3>Taking a first look at a dendrogram</h3>
<p>For the following simple tree:</p>
<div class="sourceCode" id="cb13"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb13-1"><a href="#cb13-1" tabindex="-1"></a><span class="co"># Create a dend:</span></span>
<span id="cb13-2"><a href="#cb13-2" tabindex="-1"></a>dend <span class="ot">&lt;-</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">5</span> <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb13-3"><a href="#cb13-3" tabindex="-1"></a><span class="co"># Plot it:</span></span>
<span id="cb13-4"><a href="#cb13-4" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> plot</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAADhCAYAAAByfIirAAAEDmlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRBkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4a73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PCv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UAVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXda8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8HOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojLjVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0yDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5PtXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEwQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXHliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vWc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUtVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJfcl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdduwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqvgcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCgKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8ArD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvFY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAEsoAMABAAAAAEAAADhAAAAACFxXxIAABFESURBVHgB7d17bBRlF8fxU1ugtIooElRuIrZ4QQJVoaD8QeIFuRT7B16waow1oIKgmGiiMcQYI95NCWBCoghJNdEEBQ3iBVABBcWoNRquISJSQQlFNIow75zJu5Vddrssbnef5+x3ktrO7LBzns8Zf53d7j5bFISLsCCAAAIeCJzkQY2UiAACCEQCBBYnAgIIeCNAYHnTKgpFAAECi3MAAQS8ESCwvGkVhSKAAIHFOYAAAt4IEFjetIpCEUCAwOIcQAABbwQILG9aRaEIIEBgcQ4ggIA3AgSWN62iUAQQILA4BxBAwBsBAsubVlEoAggQWJwDCCDgjQCB5U2rKBQBBAgszgEEEPBGgMDyplUUigACBBbnAAIIeCNAYHnTKgpFAAECi3MAAQS8ESCwvGkVhSKAAIHFOYAAAt4IEFjetIpCEUCAwOIcQAABbwQILG9aRaEIIEBgcQ4ggIA3AgSWN62iUAQQILA4BxBAwBsBAsubVlEoAggQWJwDCCDgjQCB5U2rKBQBBAgszgEEEPBGgMDyplUUigACBBbnAAIIeCNAYHnTKgpFAAECi3MAAQS8ESCwvGkVhSKAAIHFOYAAAt4IEFjetIpCEUCAwOIcQAABbwQILG9aRaEIIEBgcQ4ggIA3AgSWN62iUAQQILA4BxBAwBsBAsubVlEoAggQWJwDCCDgjQCB5U2rKBQBBAgszgEEEPBGgMDyplUUigACBBbnAAIIeCNAYHnTKgpFAAECi3MAAQS8ESCwvGkVhSKAAIHFOYAAAt4IEFjetIpCEUCAwOIcQAABbwQILG9aRaEIIEBgcQ4ggIA3AgSWN62iUAQQILA4BxBAwBsBAsubVlEoAgg4H1jLly+Xffv20SkEEEBAioJwccFhz5490tLSckwp48aNk6eeekouvPBCOfPMM6W8vPyYfdiAAAKFIeBMYN17773S0NAgpaWlctJJ/174/fnnn9KpU6do2+LFi6W2tjZtZz766COZN29eyv22bt0qGzduTHm7qzdUVVVJ//79XS0vrq7vvvsu+iVTVFQUt93FlS1btsiiRYtk4MCBLpZHTUcJlBz1c15/fOaZZ6Kw+vTTT2XhwoVSUVER1TN48GB55ZVXRL8f71JdXS2VlZUpd58wYULK21y+Qf/nf/75510usbW2X3/9Vbp169a67vIP+suyY8eOLpdIbf8XcCaw9ITRh34rV66UmpoamT59ukyZMuWEGlVWVib6lWrx9eTUunv16pVqWE5t96VORdOnGYqLi53yo5jkAv8+9kp+e863jho1StatWyerV6+WMWPGyP79+3NeAwdEAAE3BZwLLGXq2rWrNDY2yqRJk6LffvocFgsCCCDgZGDF2lJXVydNTU1ywQUXxDbxHQEECljA6cAq4L4wdAQQSCJAYCVBYRMCCLgpQGC52ReqQgCBJAIEVhIUNiGAgJsCBJabfaEqBBBIIkBgJUFhEwIIuClAYLnZF6pCAIEkAgRWEhQ2IYCAmwIElpt9oSoEEEgiQGAlQWETAgi4KUBgudkXqkIAgSQCBFYSFDYhgICbAk4H1u+//y5Lly6V9evXu6lHVQggkFMBpwJr1qxZ0RTAEydOlO3bt0ufPn3krrvukhEjRkh9fX1OYTgYAgi4J+DMjKOvv/56dDX1wgsviP48ZMgQeeSRR2TmzJny008/yciRI6PZSHWCv3TLF198IW+++WbK3fT+WBBAwD8BZwLrk08+icJp/PjxcuWVV0bzgU+ePFl0HnOdblcn8/v222/leAJL97/mmmtSdkMfZrIggIB/As4E1tChQ2XFihVy/fXXS+fOnaMpkvUTdHTRT87RKZPnzp17XML6cWD6lWo55ZRTUt3EdgQQcFjAmeewrrvuOvnxxx9l9OjREddll10mHTp0kObmZunXr5/06NFDBg0a5DAlpSGAQHsLOHOF1aVLF/nwww9l27ZtcWPW+d3feustGTZsWNx2VhBAoPAEnLnCitGfe+65sR+j7/oBFIRVHAkrCBSsgHOBVbCdYOAIIJBWgMBKS8QOCCDgigCB5UonqAMBBNIKEFhpidgBAQRcESCwXOkEdSCAQFoBAistETsggIArAgSWK52gDgQQSCtAYKUlYgcEEHBFgMBypRPUgQACaQUIrLRE7IAAAq4IEFiudII6EEAgrQCBlZaIHRBAwBUB5wJLZ2vYunXrMT46r/vu3buP2c4GBBAoHAFnAuvQoUMyduzYaGrkiooKuemmm+TgwYOtnXj00UdFZyVlQQCBwhVwZj6s9957T0pKSmTXrl2yd+9emT59utTW1sqyZcukY8eOGXVo06ZNbYab3j+LmwJ6Huic/G3NGJvtyjdu3CiLFi2S3r17Z/uuU97fDz/8IE8//XTK27khuYAzV1gffPCB3HDDDVJeXi59+/aNPkRCp0quq6uTI0eOJK+ereYENKw2b96c03HpTLa5njZ7yZIlOR2jlYM5c4Wln4rzxhtvRKFVXFws+tXY2ChXXXWVTJs2T
<p>Here are some basic parameters we can get:</p>
<div class="sourceCode" id="cb14"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb14-1"><a href="#cb14-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> labels <span class="co"># get the labels of the tree</span></span></code></pre></div>
<pre><code>#&gt; [1] 1 2 5 3 4</code></pre>
<div class="sourceCode" id="cb16"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb16-1"><a href="#cb16-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> nleaves <span class="co"># get the number of leaves of the tree</span></span></code></pre></div>
<pre><code>#&gt; [1] 5</code></pre>
<div class="sourceCode" id="cb18"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb18-1"><a href="#cb18-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> nnodes <span class="co"># get the number of nodes in the tree (including leaves)</span></span></code></pre></div>
<pre><code>#&gt; [1] 9</code></pre>
<div class="sourceCode" id="cb20"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb20-1"><a href="#cb20-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> head <span class="co"># A combination of &quot;str&quot; with &quot;head&quot;</span></span></code></pre></div>
<pre><code>#&gt; --[dendrogram w/ 2 branches and 5 members at h = 4]
#&gt; |--[dendrogram w/ 2 branches and 2 members at h = 1]
#&gt; | |--leaf 1
#&gt; | `--leaf 2
#&gt; `--[dendrogram w/ 2 branches and 3 members at h = 2]
#&gt; |--leaf 5
#&gt; `--[dendrogram w/ 2 branches and 2 members at h = 1]
#&gt; |--leaf 3
#&gt; `--leaf 4
#&gt; etc...</code></pre>
<p>Next let us look at more sophisticated outputs.</p>
</div>
<div id="getting-nodes-attributes-in-a-depth-first-search" class="section level3">
<h3>Getting nodes attributes in a depth-first search</h3>
<p>When extracting (or inserting) attributes from a dendrograms nodes,
it is often in a “depth-first search”. <a href="https://en.wikipedia.org/wiki/Depth-first_search">Depth-first
search</a> is when an algorithm for traversing or searching tree or
graph data structures. One starts at the root and explores as far as
possible along each branch before backtracking.</p>
<p>Here is a plot of a tree, illustrating the order in which you should
read the “nodes attributes”:</p>
<p><img role="img" src="data:image/png;base64,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
<p>We can get several nodes attributes using <code>get_nodes_attr</code>
(notice the order corresponds with what is shown in the above
figure):</p>
<div class="sourceCode" id="cb22"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb22-1"><a href="#cb22-1" tabindex="-1"></a><span class="co"># Create a dend:</span></span>
<span id="cb22-2"><a href="#cb22-2" tabindex="-1"></a>dend <span class="ot">&lt;-</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">5</span> <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb22-3"><a href="#cb22-3" tabindex="-1"></a><span class="co"># Get various attributes</span></span>
<span id="cb22-4"><a href="#cb22-4" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;height&quot;</span>) <span class="co"># node&#39;s height</span></span></code></pre></div>
<pre><code>#&gt; [1] 4 1 0 0 2 0 1 0 0</code></pre>
<div class="sourceCode" id="cb24"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb24-1"><a href="#cb24-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> hang.dendrogram <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;height&quot;</span>) <span class="co"># node&#39;s height (after raising the leaves)</span></span></code></pre></div>
<pre><code>#&gt; [1] 4.0 1.0 0.6 0.6 2.0 1.6 1.0 0.6 0.6</code></pre>
<div class="sourceCode" id="cb26"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb26-1"><a href="#cb26-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;members&quot;</span>) <span class="co"># number of members (leaves) under that node</span></span></code></pre></div>
<pre><code>#&gt; [1] 5 2 1 1 3 1 2 1 1</code></pre>
<div class="sourceCode" id="cb28"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb28-1"><a href="#cb28-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;members&quot;</span>, <span class="at">id =</span> <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">5</span>)) <span class="co"># number of members for nodes 2 and 5</span></span></code></pre></div>
<pre><code>#&gt; [1] 2 3</code></pre>
<div class="sourceCode" id="cb30"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb30-1"><a href="#cb30-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;midpoint&quot;</span>) <span class="co"># how much &quot;left&quot; is this node from its left-most child&#39;s location</span></span></code></pre></div>
<pre><code>#&gt; [1] 1.625 0.500 NA NA 0.750 NA 0.500 NA NA</code></pre>
<div class="sourceCode" id="cb32"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb32-1"><a href="#cb32-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;leaf&quot;</span>) <span class="co"># is this node a leaf</span></span></code></pre></div>
<pre><code>#&gt; [1] NA NA TRUE TRUE NA TRUE NA TRUE TRUE</code></pre>
<div class="sourceCode" id="cb34"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb34-1"><a href="#cb34-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;label&quot;</span>) <span class="co"># what is the label on this node</span></span></code></pre></div>
<pre><code>#&gt; [1] NA NA 1 2 NA 5 NA 3 4</code></pre>
<div class="sourceCode" id="cb36"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb36-1"><a href="#cb36-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;nodePar&quot;</span>) <span class="co"># empty (for now...)</span></span></code></pre></div>
<pre><code>#&gt; [1] NA NA NA NA NA NA NA NA NA</code></pre>
<div class="sourceCode" id="cb38"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb38-1"><a href="#cb38-1" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;edgePar&quot;</span>) <span class="co"># empty (for now...)</span></span></code></pre></div>
<pre><code>#&gt; [1] NA NA NA NA NA NA NA NA NA</code></pre>
<p>A similar function for leaves only is
<code>get_leaves_attr</code></p>
</div>
</div>
<div id="how-to-change-a-dendrogram" class="section level2">
<h2>How to change a dendrogram</h2>
<div id="the-set-function" class="section level3">
<h3>The “set” function</h3>
<p>The fastest way to start changing parameters with dendextend is by
using the <code>set</code> function. It is written as:
<code>set(object, what, value)</code>, and accepts the following
parameters:</p>
<ol style="list-style-type: decimal">
<li><strong>object</strong>: a dendrogram object,</li>
<li><strong>what</strong>: a character indicating what is the property
of the tree that should be set/updated</li>
<li><strong>value</strong>: a vector with the value to set in the tree
(the type of the value depends on the “what”). Many times, vectors which
are too short are recycled.</li>
</ol>
<p>The <strong>what</strong> parameter accepts many options, each uses
some general function in the background. These options deal with labels,
nodes and branches. They are:</p>
<ul>
<li>labels - set the labels (using
<code>labels&lt;-.dendrogram</code>)</li>
<li>labels_colors - set the labels colors (using
<code>color_labels</code>)</li>
<li>labels_cex - set the labels size (using
<code>assign_values_to_leaves_nodePar</code>)</li>
<li>labels_to_character - set the labels to be characters</li>
<li>leaves_pch - set the leaves point type (using
<code>assign_values_to_leaves_nodePar</code>)</li>
<li>leaves_cex - set the leaves point size (using
<code>assign_values_to_leaves_nodePar</code>)</li>
<li>leaves_col - set the leaves point color (using
<code>assign_values_to_leaves_nodePar</code>)</li>
<li>leaves_bg - set the leaves point background color (available only
for pch 21-25, using <code>assign_values_to_nodes_nodePar</code>)</li>
<li>nodes_pch - set the nodes point type (using
<code>assign_values_to_nodes_nodePar</code>)</li>
<li>nodes_cex - set the nodes point size (using
<code>assign_values_to_nodes_nodePar</code>)</li>
<li>nodes_col - set the nodes point color (using
<code>assign_values_to_nodes_nodePar</code>)</li>
<li>nodes_bg - set the nodes point background color (available only for
pch 21-25, using <code>assign_values_to_nodes_nodePar</code>)</li>
<li>hang_leaves - hang the leaves (using
<code>hang.dendrogram</code>)</li>
<li>branches_k_color - color the branches (using
<code>color_branches</code>)</li>
<li>branches_col - set the color of branches (using
<code>assign_values_to_branches_edgePar</code>)</li>
<li>branches_lwd - set the line width of branches (using
<code>assign_values_to_branches_edgePar</code>)</li>
<li>branches_lty - set the line type of branches (using
<code>assign_values_to_branches_edgePar</code>)</li>
<li>by_labels_branches_col - set the color of branches with specific
labels (using <code>branches_attr_by_labels</code>)</li>
<li>by_labels_branches_lwd - set the line width of branches with
specific labels (using <code>branches_attr_by_labels</code>)</li>
<li>by_labels_branches_lty - set the line type of branches with specific
labels (using <code>branches_attr_by_labels</code>)</li>
<li>clear_branches - clear branches attributes (using
<code>remove_branches_edgePar</code>)</li>
<li>clear_leaves - clear leaves attributes (using
<code>remove_branches_edgePar</code>)</li>
</ul>
</div>
<div id="two-simple-trees-to-play-with" class="section level3">
<h3>Two simple trees to play with</h3>
<p>For illustration purposes, we will create several small tree, and
demonstrate these functions on them.</p>
<div class="sourceCode" id="cb40"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb40-1"><a href="#cb40-1" tabindex="-1"></a>dend13 <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">3</span>) <span class="sc">%&gt;%</span> <span class="co"># take some data</span></span>
<span id="cb40-2"><a href="#cb40-2" tabindex="-1"></a> dist <span class="sc">%&gt;%</span> <span class="co"># calculate a distance matrix, </span></span>
<span id="cb40-3"><a href="#cb40-3" tabindex="-1"></a> <span class="fu">hclust</span>(<span class="at">method =</span> <span class="st">&quot;average&quot;</span>) <span class="sc">%&gt;%</span> <span class="co"># on it compute hierarchical clustering using the &quot;average&quot; method, </span></span>
<span id="cb40-4"><a href="#cb40-4" tabindex="-1"></a> as.dendrogram <span class="co"># and lastly, turn that object into a dendrogram.</span></span>
<span id="cb40-5"><a href="#cb40-5" tabindex="-1"></a><span class="co"># same, but for 5 leaves:</span></span>
<span id="cb40-6"><a href="#cb40-6" tabindex="-1"></a>dend15 <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>) <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> <span class="fu">hclust</span>(<span class="at">method =</span> <span class="st">&quot;average&quot;</span>) <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb40-7"><a href="#cb40-7" tabindex="-1"></a></span>
<span id="cb40-8"><a href="#cb40-8" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb40-9"><a href="#cb40-9" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main=</span><span class="st">&quot;dend13&quot;</span>)</span>
<span id="cb40-10"><a href="#cb40-10" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main=</span><span class="st">&quot;dend15&quot;</span>)</span>
<span id="cb40-11"><a href="#cb40-11" tabindex="-1"></a><span class="co"># we could have also used plot(dend)</span></span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
<div id="setting-a-dendrograms-labels" class="section level3">
<h3>Setting a dendrograms labels</h3>
<p>We can get a vector with the trees labels:</p>
<div class="sourceCode" id="cb41"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb41-1"><a href="#cb41-1" tabindex="-1"></a><span class="co"># get the labels:</span></span>
<span id="cb41-2"><a href="#cb41-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> labels</span></code></pre></div>
<pre><code>#&gt; [1] 1 2 5 3 4</code></pre>
<div class="sourceCode" id="cb43"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb43-1"><a href="#cb43-1" tabindex="-1"></a><span class="co"># this is just like labels(dend)</span></span></code></pre></div>
<p>Notice how the trees labels are not 1 to 5 by order, since the tree
happened to place them in a different order. We can change the names of
the labels:</p>
<div class="sourceCode" id="cb44"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb44-1"><a href="#cb44-1" tabindex="-1"></a><span class="co"># change the labels, and then print them:</span></span>
<span id="cb44-2"><a href="#cb44-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels&quot;</span>, <span class="fu">c</span>(<span class="dv">111</span><span class="sc">:</span><span class="dv">115</span>)) <span class="sc">%&gt;%</span> labels</span></code></pre></div>
<pre><code>#&gt; [1] 111 112 113 114 115</code></pre>
<div class="sourceCode" id="cb46"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb46-1"><a href="#cb46-1" tabindex="-1"></a><span class="co"># could also be done using:</span></span>
<span id="cb46-2"><a href="#cb46-2" tabindex="-1"></a><span class="co"># labels(dend) &lt;- c(111:115)</span></span></code></pre></div>
<p>We can change the type of labels to be characters. Not doing so may
be a source of various bugs and problems in many functions.</p>
<div class="sourceCode" id="cb47"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb47-1"><a href="#cb47-1" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> labels</span></code></pre></div>
<pre><code>#&gt; [1] 1 2 5 3 4</code></pre>
<div class="sourceCode" id="cb49"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb49-1"><a href="#cb49-1" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_to_char&quot;</span>) <span class="sc">%&gt;%</span> labels</span></code></pre></div>
<pre><code>#&gt; [1] &quot;1&quot; &quot;2&quot; &quot;5&quot; &quot;3&quot; &quot;4&quot;</code></pre>
<p>We may also change their color and size:</p>
<div class="sourceCode" id="cb51"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb51-1"><a href="#cb51-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb51-2"><a href="#cb51-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_col&quot;</span>, <span class="st">&quot;blue&quot;</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Change label&#39;s color&quot;</span>) <span class="co"># change color </span></span>
<span id="cb51-3"><a href="#cb51-3" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Change label&#39;s size&quot;</span>) <span class="co"># change color </span></span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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/e9/+3Jsu+22JcmPTCCQFIGPP/7Yhg4damussYZtuOGGttpqq9kWW2xh999/f5RlFu3Xbbfd5r/je+21V8ShPhu59kvXr7TSSj7dRx99tD7J1XoNtqlWRPWKgMCqF7aGXXTnnXda//797dlnnzX96Pfq1cu++eYbmzp1qg0cONC+++67hmXA1dUSkFglQAACDSPwySefeJs1adIk3/Pep08fa9Gihb388ss2aNAgmzVrVsMy4OoqBJK2XUp/5ZVX9n9VMudAvQkgsOqNrn4XaijwzDPP9CLq2GOP9d3rzz//vD3zzDPeSL366qt266231i9xrqqWwPrrr++Pr7vuutWe5yAEIFA8gYsvvtjef/9923TTTU32Sr3xCxYsMAkthfPOO89/8i8+AqEN69ixY3yJ5qS0yy67+Id8/Q4R4iOAwIqPZVEpqQv99ddft3bt2tmYMWOsefPm/roddtjBrrjiCrvkkkts6623rpLW9ddfb5tttpm1b9/ejjjiCPv888+jOBoC22+//UzdyhtssIF/ipw7d250fqeddjINS82ePdv0RVp99dX9sOMTTzwRxdHG+PHjbZNNNvHpDBs2zG655Rb/pKpyhuGGG26wnj172qqrrmoq8z333BOeKurztddes2OOOcbns+aaa9qOO+5oEyZMqHKtDPbPfvYzPwSx5ZZbmuqYG1544QXbbbfdfF1U5t///vfeQOTGCbdVXnWxi18Y9COgodlWrVrZOuusY4ceemglpmG83M8HHnjAl1f8VPezzjrLvvzyyyjKV199Zb/61a+sd+/evlz9+vWze++9NzpfaONvf/ub77nUcMvmm29u5557ri1fvtxHX7FihW8D1fWaa66xtdZayxo6/FCoHByHQG0EdD9effXVPtqll15qnTp18tuyZ1dddZW//4877rgqydRkv2qzCeeff77/Dui7pIdSPSh16dLFlH9uKMZ+1cVu5KYdbmt0Qd972VTZQNmWk08+2eRLmxsU75xzzjEJI/3JLuTGqWs5NMqxyiqreJulfKZNm+ZtkMogeyRb8+STT+YWodL2e++9Z0OGDPG2Tjave/fu/vcmjDRjxgzP+JBDDvGH/vrXv/p95Zv7J7eWMDT0tyBMp0l/OidFQgkJXHbZZYG7oQI3FFhrrg899JCP67puA2fIAnfzB05g+WMjRozw17/yyiuB+8IE7kvmz2+11Vb+vBMPUfo65wRG4ARY4ERL4H7EfZz11lsvcD1qPp77kffHVDb3Yx44IxY4vzB/zPW4+TjuB97v6/i+++4btG3b1u/fd999UV75G2F5582bFzijEzhB5a9xQwmBEwqB6qY83XCpv/TnP/+533dd1sHGG28cOCHj9xXH+R/4OM6pNsrbCcZAddX5X/ziF1H2ufnqoBNCgRMt/rwTSj7+dtttFzjDFzhj6fePPvro6Pr8DWfQonK44d3A+Z34/TPOOMNH/frrr4Pdd9/dH2vdunXgDG8U3xkrH+eRRx7xx7bZZpso+SuvvDKK54R1xEN8FMRMdXNDMIET476dncCOrmcDAqUk4HxEo/v1s88+qzHrYuxXMTbBCTafp+yYe1AM9tlnn6gMoU0oxn4VYzfyK5RvRy6//HKfd48ePby9dS4efv83v/mNv9SNP
<p>The function recycles, from left to right, the vector of values we
give it. We can use this to create more complex patterns:</p>
<div class="sourceCode" id="cb52"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb52-1"><a href="#cb52-1" tabindex="-1"></a><span class="co"># Produce a more complex dendrogram:</span></span>
<span id="cb52-2"><a href="#cb52-2" tabindex="-1"></a>dend15_2 <span class="ot">&lt;-</span> dend15 <span class="sc">%&gt;%</span> </span>
<span id="cb52-3"><a href="#cb52-3" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;labels&quot;</span>, <span class="fu">c</span>(<span class="dv">111</span><span class="sc">:</span><span class="dv">115</span>)) <span class="sc">%&gt;%</span> <span class="co"># change labels</span></span>
<span id="cb52-4"><a href="#cb52-4" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;labels_col&quot;</span>, <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>,<span class="dv">3</span>)) <span class="sc">%&gt;%</span> <span class="co"># change color </span></span>
<span id="cb52-5"><a href="#cb52-5" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;labels_cex&quot;</span>, <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>)) <span class="co"># change size</span></span>
<span id="cb52-6"><a href="#cb52-6" tabindex="-1"></a></span>
<span id="cb52-7"><a href="#cb52-7" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb52-8"><a href="#cb52-8" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Before&quot;</span>)</span>
<span id="cb52-9"><a href="#cb52-9" tabindex="-1"></a>dend15_2 <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;After&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>Notice how these “labels parameters” are nested within the nodePar
attribute:</p>
<div class="sourceCode" id="cb53"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb53-1"><a href="#cb53-1" tabindex="-1"></a><span class="co"># looking at only the left-most node of the &quot;after tree&quot;:</span></span>
<span id="cb53-2"><a href="#cb53-2" tabindex="-1"></a>dend15_2[[<span class="dv">1</span>]][[<span class="dv">1</span>]] <span class="sc">%&gt;%</span> unclass <span class="sc">%&gt;%</span> str </span></code></pre></div>
<pre><code>#&gt; int 1
#&gt; - attr(*, &quot;label&quot;)= int 111
#&gt; - attr(*, &quot;members&quot;)= int 1
#&gt; - attr(*, &quot;height&quot;)= num 0
#&gt; - attr(*, &quot;leaf&quot;)= logi TRUE
#&gt; - attr(*, &quot;nodePar&quot;)=List of 3
#&gt; ..$ lab.col: num 1
#&gt; ..$ pch : logi NA
#&gt; ..$ lab.cex: num 2</code></pre>
<div class="sourceCode" id="cb55"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb55-1"><a href="#cb55-1" tabindex="-1"></a><span class="co"># looking at only the nodePar attributes in this sub-tree:</span></span>
<span id="cb55-2"><a href="#cb55-2" tabindex="-1"></a>dend15_2[[<span class="dv">1</span>]][[<span class="dv">1</span>]] <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;nodePar&quot;</span>) </span></code></pre></div>
<pre><code>#&gt; [,1]
#&gt; lab.col 1
#&gt; pch NA
#&gt; lab.cex 2</code></pre>
<p>When it comes to color, we can also set the parameter “k”, which will
cut the tree into k clusters, and assign a different color to each label
(based on its cluster):</p>
<div class="sourceCode" id="cb57"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb57-1"><a href="#cb57-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb57-2"><a href="#cb57-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_col&quot;</span>, <span class="at">value =</span> <span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">4</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb57-3"><a href="#cb57-3" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Recycles color </span><span class="sc">\n</span><span class="st">from left to right&quot;</span>)</span>
<span id="cb57-4"><a href="#cb57-4" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_col&quot;</span>, <span class="at">value =</span> <span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">4</span>), <span class="at">k=</span><span class="dv">2</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb57-5"><a href="#cb57-5" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Color labels </span><span class="sc">\n</span><span class="st">per cluster&quot;</span>)</span>
<span id="cb57-6"><a href="#cb57-6" tabindex="-1"></a><span class="fu">abline</span>(<span class="at">h =</span> <span class="dv">2</span>, <span class="at">lty =</span> <span class="dv">2</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
<div id="setting-a-dendrograms-nodesleaves-points" class="section level3">
<h3>Setting a dendrograms nodes/leaves (points)</h3>
<p>Each node in a tree can be represented and controlled using the
<code>assign_values_to_nodes_nodePar</code>, and for the special case of
the nodes of leaves, the <code>assign_values_to_leaves_nodePar</code>
function is more appropriate (and faster) to use. We can control the
following properties: pch (point type), cex (point size), and col (point
color). For pch we can additionally set bg (“background”, although its
really a fill for the shape). When bg is set, the outline of the point
is defined by col and the internal fill is determined by bg. For
example:</p>
<div class="sourceCode" id="cb58"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb58-1"><a href="#cb58-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">3</span>))</span>
<span id="cb58-2"><a href="#cb58-2" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_pch&quot;</span>, <span class="dv">19</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;(1) Show the</span><span class="sc">\n</span><span class="st"> nodes (as a dot)&quot;</span>) <span class="co">#1</span></span>
<span id="cb58-3"><a href="#cb58-3" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_pch&quot;</span>, <span class="dv">19</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb58-4"><a href="#cb58-4" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;(2) Show (larger)</span><span class="sc">\n</span><span class="st"> nodes&quot;</span>) <span class="co">#2</span></span>
<span id="cb58-5"><a href="#cb58-5" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_pch&quot;</span>, <span class="dv">19</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_col&quot;</span>, <span class="dv">3</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb58-6"><a href="#cb58-6" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;(3) Show (larger+colored)</span><span class="sc">\n</span><span class="st"> nodes&quot;</span>) <span class="co">#3</span></span>
<span id="cb58-7"><a href="#cb58-7" tabindex="-1"></a></span>
<span id="cb58-8"><a href="#cb58-8" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_pch&quot;</span>, <span class="dv">21</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;(4) Show the leaves</span><span class="sc">\n</span><span class="st"> (as empty circles)&quot;</span>) <span class="co">#4</span></span>
<span id="cb58-9"><a href="#cb58-9" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_pch&quot;</span>, <span class="dv">21</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb58-10"><a href="#cb58-10" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;(5) Show (larger)</span><span class="sc">\n</span><span class="st"> leaf circles&quot;</span>) <span class="co">#5</span></span>
<span id="cb58-11"><a href="#cb58-11" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> </span>
<span id="cb58-12"><a href="#cb58-12" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;leaves_pch&quot;</span>, <span class="dv">21</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb58-13"><a href="#cb58-13" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;leaves_bg&quot;</span>, <span class="st">&quot;gold&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb58-14"><a href="#cb58-14" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;leaves_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb58-15"><a href="#cb58-15" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;leaves_col&quot;</span>, <span class="st">&quot;darkred&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb58-16"><a href="#cb58-16" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;(6) Show (larger+colored+filled)</span><span class="sc">\n</span><span class="st"> leaves&quot;</span>) <span class="co">#6</span></span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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KU8//bS1atXKOnbs6D+PP/5470ed8datW9u//vWvSu/Uxo0wvc8//7yPJ11BqY040sOoikO6X64hsKoE1Eb99a9/9cGcfPLJtsYaa9hGG21k999/v7/3t7/9ze69995K0UhON910U2vfvr2ttdZatvPOO1co8Hvuuaf93//9X6V3auNGmF51MPIp+7WR1vQw8lWPHHXUUfbnP//ZqtKB0tMS92sU95iUoJTv/fff31ZbbTV76623bJtttvG9/TD5nTt3tqZNm9o999wT3vKf6vlLQR80aJC3Ahx66KGmsBYtWpTi7+OPP06x3MmaIAvgwoULK/zJuiArnJw6EqG1Xj1/CU3o1PM9++yzvYU/alXU80zxRK2QYRh8QiBJBKZOnWrDhg2zI444wu677z57/fXXvQV97733tvPPP9/q1atnhxxyiJfV9HxLfqXUy6p055132ogRI+zdd99N8Sb5Sx9xk6IdlS35mTVrln9PI3Xfffed/65wv/nmm5TwoulNeeAuJNPvvPNORVgyFnz99dc+fZ988kmFZf7bb7/1lnrVB6ojQqd0KM7Qhc+/+uork0EiG4fQP58QqA0CauOkYP/pT3/y7dkzzzxjr7zyivXr18/OOeccH4WeSf7U2Y46Gb80Cvb999/7dvKjjz6yu+66K+rFt7GSh6iThVxtYDh6JTmQrMlJriRHeqaw9V2foYumN7wXfkoGP/zwwxSdQPWB5ElpCy3z2WRS7byehU5GAdUJkk21+6GTjiFGUacRCuUz3WiofEXlPvqOvis/6TpGpnjlL1qPheFIBwnzpXvZdKDQf6I+HRRcDAist956wRNPPOFT6pTzwFkEAtfoB4cddlhF6i+++OLANfAV1+EXZ5kP9L6zoAVOuMPbgaucgrXXXjv4/e9/HzRv3jxwnYHACWHgBC5wlsCgSZMmQYsWLYLLLrvMv9OrVy//jqvEAmeZCA4++GB/3wlM4Cq3inDdKEDghCRwnYxgzJgxWeN5++23AzcKEKy77rrBVlttFbz//vsVYfAFAkkicMcddwSSQznXwAVuON1/HzBgQLD++uv77y+99JKXOT2POvlxI2bBcccdF7zwwguB5E/Odcq9nLmRuKBLly6BG40LHnvsMf/siiuu8NeuoQ123HHHwE2zCy666KJg66239s/32WefwFnxvbyfcsopgcKIumh6n3rqKR+P66gHTz75pE/jJptsErjORvDwww8HTnnxzyXLDRs2DFxjH5x66qle/tu0aRNsttlmgTMY+OAVV8uWLb3Muw6Lv3fCCScEG264YdCgQYNAec3GIZo+vkNgVQm4jqL/3TrluSIotUGSlz/84Q/+npveEbhRoODNN9+s8KMvaoslb86YFriOeOAMWhXPJWObb765D0e/aWfE8s+cxTmQPOpPv3fJ6osvvujDd53s4Nprr/XpcdNzggcffND7c8p8RbjR9DoF1/t1FvjAKdzBb37zG99mN2rUKDjjjDP8O26EzrevaouV3mwyOXz48MCNGniZPOCAAwLxUJ6aNWsWSH5Vb7lOQKD4JfOjRo3y31UPKQ9uFN/rEdIVJk6cGDhl2nMRN4XRu3dvfy9aj2TTMdLjzaYjuNGRQHkVZ9WfikMumw7kHyboP/V6cCVOQI28h
<p>And with recycling we can produce more complex outputs:</p>
<div class="sourceCode" id="cb59"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb59-1"><a href="#cb59-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb59-2"><a href="#cb59-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_pch&quot;</span>, <span class="fu">c</span>(<span class="dv">19</span>,<span class="dv">1</span>,<span class="dv">4</span>)) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_cex&quot;</span>, <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>,<span class="dv">2</span>)) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_col&quot;</span>, <span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">4</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb59-3"><a href="#cb59-3" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Adjust nodes&quot;</span>)</span>
<span id="cb59-4"><a href="#cb59-4" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_pch&quot;</span>, <span class="fu">c</span>(<span class="dv">19</span>,<span class="dv">1</span>,<span class="dv">4</span>)) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_cex&quot;</span>, <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>,<span class="dv">2</span>)) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_col&quot;</span>, <span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">4</span>)) <span class="sc">%&gt;%</span></span>
<span id="cb59-5"><a href="#cb59-5" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Adjust nodes</span><span class="sc">\n</span><span class="st">(but only for leaves)&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAEsCAYAAAAfPc2WAAAEDmlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRBkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4a73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PCv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UAVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXda8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8HOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojLjVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0yDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5PtXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEwQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXHliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vWc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUtVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJfcl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdduwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqvgcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCgKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8ArD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvFY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAJYoAMABAAAAAEAAAEsAAAAAAaSlAMAAEAASURBVHgB7d0JfFTV2fjxJySBhLAkEJBFZF8UREEqm2BdqiKiYqu+FmpLq2Kr9u8LRVFbbW1FeVUolRbrS4v4FpC2vh8UpQVERQUtFBAUARHQypqwS4CQZf7nOb43nSwzmQl35t6Z+R0+MDN3Ofec7x1Onpx77rlpAZOEhAACCCCAAAIIIOCaQD3XciIjBBBAAAEEEEAAAStAgMUXAQEEEEAAAQQQcFmAAMtlULJDAAEEEEAAAQQIsPgOIIAAAggggAACLgsQYLkMSnYIIIAAAggggAABFt8BBBBAAAEEEEDAZQECLJdByQ4BBBBAAAEEECDA4juAAAIIIIAAAgi4LECA5TIo2SGAAAIIIIAAAgRYfAcQQAABBBBAAAGXBQiwXAYlOwQQQAABBBBAgACL7wACCCCAAAIIIOCyAAGWy6BkhwACCCCAAAIIEGDxHUAAAQQQQAABBFwWIMByGZTsEEAAAQQQQAABAiy+AwgggAACCCCAgMsCBFgug5IdAggggEDdBb71rW9JWlqaNG7cWL788suIMurRo4fdZ/Xq1Xb7W2+91X6ePn16RPtHs9GcOXNk48aN0ezi2rY/+9nPbL0mTJjgWp5kFDsBAqzY2ZIzAggggEAUAvv375eFCxfaPY4dOyYvvvhiFHv/e9P09HTJyMiQevXc/RH3zW9+U0aPHi2HDh3698F4h0AIAXe/fSEOwmIEEEAAAQRqE9DeoVOnTkl2drbddObMmbXtUuP6WbNmSUlJifzoRz+qcX1dF37yySd13ZX9UlCAACsFTzpVRgABBPwooIGRpv/6r/+yPVCrVq2SDz/8sFJRjxw5ImPGjJEWLVpI586d5be//a0EAoFK2zz00EPSu3dvmTdvnl1e9bMufOSRR+w2f/rTnyr2/fnPfy6dOnWSrKwsOeOMM+SWW26Ro0eP2vV62XHr1q32/Xe/+1154IEHKvYLfjN48GC54IILZMOGDfL1r39dmjZtKl/72tdkxYoVwZvZ9aNGjZIzzzxT2rRpIzfeeKN8/vnnlbbRunXr1k2aN28u3/ve9yrKEryR+lx22WX2OLqt1lWDSyctWbJELrzwQnvJVcsyaNAgWblypbOa11gKmC8mCQEEEEAAAU8F1qxZo1FSwIy9Chw/fjxwzTXX2M8//vGPK5Xr6quvtstzcnIC+j4zMzNgxmzZZSYgs9t+5zvfsZ+feeaZGj/rwu9///t2m6lTp9ptFi9ebD/369cv8JOf/CRgAiX72QQ2dr0JhgINGjSwyzp27Bi4//777fKq/5ggJmAuTQby8/MD1157beCcc86x+5ggKlBaWmo3/+ijj+x6rW/79u0DLVu2tNvk5uYGvvjiC7vN888/b5fpNpdeemmgVatWFfXU8mn617/+FVAH3cYEcwETHNr3WjdNJ06cCJhA0eZ/1113BUxgaMvWtm3bwMGDB+02/BM7AXqwzDeThAACCCDgrYDTe3XDDTfYS4TaY6RJe5iKi4vt+82bN8uiRYvs+3Xr1slrr70mr776arUeLLtBlP/Mnz/f7jFw4EC555575PXXX5e5c+eKCWbsci1H165d7fsXXnhBnnjiiZBHKC8vFx2Q/vLLL8u7774rOiZs9+7dUlBQYPd58MEHRceb3XbbbfLpp5/anisTUMrhw4dF12l6+umn7etjjz0my5Ytkx07dogJxOwy55/JkydLUVGR3HnnnfLmm2+K+jRr1kxmz54tJlCTt956S/bt2yft2rUT9fzjH/9ovbSu2ktHiq0AAVZsfckdAQQQQKAWAQ2gNJjRZHqHbHCj47B0oLrpaZH//d//teu2bNliX88+++yKYOfiiy+uU7Bg+i1sXs4/pjfMvjW9XmJ6lezlw7Vr10peXp6zSVSv3/jGN+z2ur/pmbLv9a5IDb7efvtt+9n0NNk6arDjBJR6+U7L5oz3uu666+y2uo3WNTitX7/efty2bZsNCseNG2cvBZaVldk7HfVSpV7qNL2D0r9/f3upUYNDXe+McwvOj/fuChBguetJbggggAACUQpoT48GUpp0HJQGJyNGjBBzSc0ucwa7a2CgSXuEnKRBWKS9MU5+uq/TK+bko3cI6ngl7UHTgEjHWz311FNy+eWXO5tE9dqwYcOK7c1lzIr3+kaDLE1NmjSxr/pPo0aN7Hsd5K/rnW2C6+ps4+zkrNNxadpjpX/PP/980aDMXM6049Tef/99uffee+14Ne0h0zszNVAzlymdbHiNkQABVoxgyRYBBBBAIDIB5/KgDgrXXhjn7x133GEz0Mtf27dvr+i10kthGlRo0rmvNHAIl5wepAMHDtjNtIdI8whOGlzpwHQNqnQ7vbSnl+Q2bdok2pOlyQlonOAneP+q73Uur5qSTh2hg841OT1z+n7BggX6In379rXH0cH2mjRActLSpUudt/b1yiuvtK+XXHKJ3V/zMOO+xIy3sj1WWnatlw6C10uReplRA1dNescmKcYCsRveRc5+ETC/mdmBj+a3n4C5IyaiY
<p>Notice how recycling works in a depth-first order (which is just left
to right, when we only adjust the leaves). Here are the nodes
parameters after adjustment:</p>
<div class="sourceCode" id="cb60"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb60-1"><a href="#cb60-1" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_pch&quot;</span>, <span class="fu">c</span>(<span class="dv">19</span>,<span class="dv">1</span>,<span class="dv">4</span>)) <span class="sc">%&gt;%</span></span>
<span id="cb60-2"><a href="#cb60-2" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;nodes_cex&quot;</span>, <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>,<span class="dv">2</span>)) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_col&quot;</span>, <span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">4</span>)) <span class="sc">%&gt;%</span> <span class="fu">get_nodes_attr</span>(<span class="st">&quot;nodePar&quot;</span>)</span></code></pre></div>
<pre><code>#&gt; [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
#&gt; pch 19 1 4 19 1 4 19 1 4
#&gt; cex 2 1 2 2 1 2 2 1 2
#&gt; col 3 4 3 4 3 4 3 4 3</code></pre>
<p>We can also change the height of of the leaves by using the
<code>hang.dendrogram</code> function:</p>
<div class="sourceCode" id="cb62"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb62-1"><a href="#cb62-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb62-2"><a href="#cb62-2" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_pch&quot;</span>, <span class="dv">19</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_col&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="co"># adjust the leaves</span></span>
<span id="cb62-3"><a href="#cb62-3" tabindex="-1"></a> hang.dendrogram <span class="sc">%&gt;%</span> <span class="co"># hang the leaves</span></span>
<span id="cb62-4"><a href="#cb62-4" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Hanging a tree&quot;</span>)</span>
<span id="cb62-5"><a href="#cb62-5" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_pch&quot;</span>, <span class="dv">19</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_col&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="co"># adjust the leaves</span></span>
<span id="cb62-6"><a href="#cb62-6" tabindex="-1"></a> <span class="fu">hang.dendrogram</span>(<span class="at">hang_height =</span> .<span class="dv">6</span>) <span class="sc">%&gt;%</span> <span class="co"># hang the leaves (at some height)</span></span>
<span id="cb62-7"><a href="#cb62-7" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Hanging a tree (but lower)&quot;</span>)</span>
<span id="cb62-8"><a href="#cb62-8" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_pch&quot;</span>, <span class="dv">19</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_cex&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;leaves_col&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="co"># adjust the leaves</span></span>
<span id="cb62-9"><a href="#cb62-9" tabindex="-1"></a> hang.dendrogram <span class="sc">%&gt;%</span> <span class="co"># hang the leaves</span></span>
<span id="cb62-10"><a href="#cb62-10" tabindex="-1"></a> <span class="fu">hang.dendrogram</span>(<span class="at">hang =</span> <span class="sc">-</span><span class="dv">1</span>) <span class="sc">%&gt;%</span> <span class="co"># un-hanging the leaves</span></span>
<span id="cb62-11"><a href="#cb62-11" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Not hanging a tree&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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oNs1ZoPCwkI5/fTTJTMzU0455RT54x//mPDua9askTFjxtTZXs9vekw3p+zsbDn77LNl3bp1bibDsZuRgN7M63X0vPPOi5Z61KhRMn78+Ojr+mbeeOMNmTJlSp1VZ555pvz2t7+tszwdC7jmp0PRP8cgcPdPXSSck23btslHH30U7e3SRqmBRWVlpXzyySeid+6x08qVK20P2caNG21Pfm5urrz88svy3e9+1y5vzL6xx9V5TfvDDz8UzVPtSU9QM2fOtBfLiooKWbt2rU3/3//+tziOYzffsmVLjU8XdKGu++qrr2ofjtcINLlAfe93DWZ37dolRUVF8umnn9bIo/a+6XtZb2IjN7D33HOPjB071r7PtU1ob7C20cj6yAE2bdpke/v1EwDtLas9aeCwYsUK2/Zrr9N9brrpJlm9enW07WseNX+RT9r2798vmkbtSYPbeJ8w/P73v5fzzz9fWrZsGd1Nexlje8z1mJHXei7S844e78EHH7SdBerV0KT5++yzz6LnCP30ccOGDXYX9VczPUdEzin6V6fa55KIm94waNlHjhwpepPAhEA6BfQ698wzz9R7yNrvZf106bbbbrPXzHifomsPvl4jY6fGXvNrnzu45sdqhmDenACZfCZgAmpn6NChziuvvGJ/fvzjHzvdu3e3ubzllluc9u3bOz169HA6duzomIuY3SYnJ8fu061bN7tel5uLnKPH0u379u3r5OXlObNmzXLMyUOjZsf0xjV631iqhQsXOq1bt3a+9a1vOVlZWc7zzz8fu9o57rjjbDpt2rRxTGBi5zUfLVq0cMxF1bn22mudTp06OYcffrij5dLpgw8+sHnVZSeccIJjbkRqHJMXCLgp8Jvf/Mbp0KFDtO1NnjzZvm9N8O3Ee7/r+/Skk05y+vTp45ieXcd8ymSz+MQTTzjt2rVzunbt6nz72992OnfubJfrtjfccINjgnp77CFDhji9e/d2TC+289e//tVuc9111zkmOHby8/Odo446yvnpT39ao9jmwuwceuihzpFHHumYi7Lzy1/+ssZ6Pb62cT2Gnkf69etn25UuMzftzuOPP+4cdthhtu2NGDHCMcGxY4Jb57TTTnNML6LTq1cvxwQjNY6pL/S8o/vrpMc8+uijbfvX88B9991nl2u7v/nmm+38rbfeatPdvHmzbfcZGRmO6am36yK/dFvdRyfzCYej5wv9OeKII5yXXnrJefPNN62ruUFwpk2bZsv1r3/9y1rpdnqeq+9cYj61tMfQc6PpBXXeeuste74yNxGRpPmLQNICpqPMvhd79uxp27i+P82naY75VMkes7738rx58+y1Us8Tv/71r2ukfeKJJ9p2oO1D37Pmxtuub8w1X3eo79zBNb8GdeBfaM8Fk88ENNjWC64Gr/qjF6dI4G6GtzimN8pZtmyZvdA/99xz9sKsF+SlS5c65s7cnkyeeuope9HTE4C5s3c+/vhju/wvf/lLncC9MfvGUpmedmfJkiU2KNeL+DXXXBO72nn77bdtmqbHy9ELt6Zjhgg4eoIzPWiOXsTNuFPH9ALadab30PnFL37hXHzxxU51dbVz0UUXOT/5yU9qHJMXCLgpoIG7BtCRtqc3x/q+1cA93vtdA3cz1MNmSwNIvZHVyQxvi
<p>An example of what this function does to the leaves heights:</p>
<div class="sourceCode" id="cb63"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb63-1"><a href="#cb63-1" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">get_leaves_attr</span>(<span class="st">&quot;height&quot;</span>)</span></code></pre></div>
<pre><code>#&gt; [1] 0 0 0</code></pre>
<div class="sourceCode" id="cb65"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb65-1"><a href="#cb65-1" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> hang.dendrogram <span class="sc">%&gt;%</span> <span class="fu">get_leaves_attr</span>(<span class="st">&quot;height&quot;</span>)</span></code></pre></div>
<pre><code>#&gt; [1] 1.35 0.85 0.85</code></pre>
<p>We can also control the general heights of nodes using
<code>raise.dendrogram</code>:</p>
<div class="sourceCode" id="cb67"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb67-1"><a href="#cb67-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb67-2"><a href="#cb67-2" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;First tree&quot;</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">3</span>))</span>
<span id="cb67-3"><a href="#cb67-3" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> </span>
<span id="cb67-4"><a href="#cb67-4" tabindex="-1"></a> <span class="fu">raise.dendrogram</span> (<span class="sc">-</span><span class="dv">1</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb67-5"><a href="#cb67-5" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;One point lower&quot;</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">3</span>))</span>
<span id="cb67-6"><a href="#cb67-6" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> </span>
<span id="cb67-7"><a href="#cb67-7" tabindex="-1"></a> <span class="fu">raise.dendrogram</span> (<span class="dv">1</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb67-8"><a href="#cb67-8" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;One point higher&quot;</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">3</span>))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>If you wish to make the branches under the root have the same height,
you can use the <code>flatten.dendrogram</code> function.</p>
</div>
<div id="setting-a-dendrograms-branches" class="section level3">
<h3>Setting a dendrograms branches</h3>
<div id="adjusting-all-branches" class="section level4">
<h4>Adjusting all branches</h4>
<p>Similar to adjusting nodes, we can also control line width (lwd),
line type (lty), and color (col) for branches:</p>
<div class="sourceCode" id="cb68"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb68-1"><a href="#cb68-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb68-2"><a href="#cb68-2" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_lwd&quot;</span>, <span class="dv">4</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Thick branches&quot;</span>)</span>
<span id="cb68-3"><a href="#cb68-3" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_lty&quot;</span>, <span class="dv">3</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Dashed branches&quot;</span>)</span>
<span id="cb68-4"><a href="#cb68-4" tabindex="-1"></a>dend13 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_col&quot;</span>, <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Red branches&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>We may also use recycling to create more complex patterns:</p>
<div class="sourceCode" id="cb69"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb69-1"><a href="#cb69-1" tabindex="-1"></a><span class="co"># Produce a more complex dendrogram:</span></span>
<span id="cb69-2"><a href="#cb69-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> </span>
<span id="cb69-3"><a href="#cb69-3" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_lwd&quot;</span>, <span class="fu">c</span>(<span class="dv">4</span>,<span class="dv">1</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb69-4"><a href="#cb69-4" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_lty&quot;</span>, <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">3</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb69-5"><a href="#cb69-5" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_col&quot;</span>, <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>,<span class="dv">3</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb69-6"><a href="#cb69-6" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Complex branches&quot;</span>, <span class="at">edge.root =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>Notice how the first branch (the root) is considered when going
through and creating the tree, but it is <strong>ignored</strong> in the
actual plotting (this is actually a “missing feature” in
<code>plot.dendrogram</code>).</p>
</div>
<div id="coloring-branches-based-on-clustering" class="section level4">
<h4>Coloring branches based on clustering</h4>
<p>We may also control the colors of the branches based on using
clustering:</p>
<div class="sourceCode" id="cb70"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb70-1"><a href="#cb70-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb70-2"><a href="#cb70-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>, <span class="at">k =</span> <span class="dv">3</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Nice defaults&quot;</span>)</span>
<span id="cb70-3"><a href="#cb70-3" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>, <span class="at">value =</span> <span class="dv">3</span><span class="sc">:</span><span class="dv">1</span>, <span class="at">k =</span> <span class="dv">3</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb70-4"><a href="#cb70-4" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Controlling branches&#39; colors</span><span class="sc">\n</span><span class="st">(via clustering)&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb71"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb71-1"><a href="#cb71-1" tabindex="-1"></a><span class="co"># This is like using the `color_branches` function</span></span></code></pre></div>
</div>
<div id="adjusting-branches-based-on-labels" class="section level4">
<h4>Adjusting branches based on labels</h4>
<p>The most powerful way to control branches is through the
<code>branches_attr_by_labels</code> function (with variations through
the <code>set</code> function). The function allows you to change
col/lwd/lty of branches if they match some “labels condition”. Follow
carefully:</p>
<div class="sourceCode" id="cb72"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb72-1"><a href="#cb72-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb72-2"><a href="#cb72-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;by_labels_branches_col&quot;</span>, <span class="at">value =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">4</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb72-3"><a href="#cb72-3" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Adjust the branch</span><span class="sc">\n</span><span class="st"> if ALL (default) of its</span><span class="sc">\n</span><span class="st"> labels are in the list&quot;</span>)</span>
<span id="cb72-4"><a href="#cb72-4" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;by_labels_branches_col&quot;</span>, <span class="at">value =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">4</span>), <span class="at">type =</span> <span class="st">&quot;any&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb72-5"><a href="#cb72-5" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Adjust the branch</span><span class="sc">\n</span><span class="st"> if ANY of its</span><span class="sc">\n</span><span class="st"> labels are in the list&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>We can use this to change the size/type/color of the branches:</p>
<div class="sourceCode" id="cb73"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb73-1"><a href="#cb73-1" tabindex="-1"></a><span class="co"># Using &quot;Inf&quot; in &quot;TF_values&quot; means to let the parameters stay as they are.</span></span>
<span id="cb73-2"><a href="#cb73-2" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb73-3"><a href="#cb73-3" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;by_labels_branches_col&quot;</span>, <span class="at">value =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">4</span>), <span class="at">TF_values =</span> <span class="fu">c</span>(<span class="dv">3</span>,<span class="cn">Inf</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb73-4"><a href="#cb73-4" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Change colors&quot;</span>)</span>
<span id="cb73-5"><a href="#cb73-5" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;by_labels_branches_lwd&quot;</span>, <span class="at">value =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">4</span>), <span class="at">TF_values =</span> <span class="fu">c</span>(<span class="dv">8</span>,<span class="dv">1</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb73-6"><a href="#cb73-6" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Change line width&quot;</span>)</span>
<span id="cb73-7"><a href="#cb73-7" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;by_labels_branches_lty&quot;</span>, <span class="at">value =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">4</span>), <span class="at">TF_values =</span> <span class="fu">c</span>(<span class="dv">3</span>,<span class="cn">Inf</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb73-8"><a href="#cb73-8" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Change line type&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
<div id="highlighting-branches-different-heights-using-line-width-and-color" class="section level4">
<h4>Highlighting branches different heights using line width and
color</h4>
<p>The <code>highlight_branches</code> function helps to more easily see
the topological structure of a tree, by adjusting branches appearence
(color and line width) based on their height in the tree. For
example:</p>
<div class="sourceCode" id="cb74"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb74-1"><a href="#cb74-1" tabindex="-1"></a>dat <span class="ot">&lt;-</span> iris[<span class="dv">1</span><span class="sc">:</span><span class="dv">20</span>,<span class="sc">-</span><span class="dv">5</span>]</span>
<span id="cb74-2"><a href="#cb74-2" tabindex="-1"></a>hca <span class="ot">&lt;-</span> <span class="fu">hclust</span>(<span class="fu">dist</span>(dat))</span>
<span id="cb74-3"><a href="#cb74-3" tabindex="-1"></a>hca2 <span class="ot">&lt;-</span> <span class="fu">hclust</span>(<span class="fu">dist</span>(dat), <span class="at">method =</span> <span class="st">&quot;single&quot;</span>)</span>
<span id="cb74-4"><a href="#cb74-4" tabindex="-1"></a>dend <span class="ot">&lt;-</span> <span class="fu">as.dendrogram</span>(hca)</span>
<span id="cb74-5"><a href="#cb74-5" tabindex="-1"></a>dend2 <span class="ot">&lt;-</span> <span class="fu">as.dendrogram</span>(hca2)</span>
<span id="cb74-6"><a href="#cb74-6" tabindex="-1"></a></span>
<span id="cb74-7"><a href="#cb74-7" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb74-8"><a href="#cb74-8" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> highlight_branches_col <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Coloring branches&quot;</span>)</span>
<span id="cb74-9"><a href="#cb74-9" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> highlight_branches_lwd <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Emphasizing line-width&quot;</span>)</span>
<span id="cb74-10"><a href="#cb74-10" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> highlight_branches <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Emphasizing color</span><span class="sc">\n</span><span class="st"> and line-width&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>Tanglegrams are even easier to compare when using</p>
<div class="sourceCode" id="cb75"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb75-1"><a href="#cb75-1" tabindex="-1"></a><span class="fu">library</span>(viridis)</span>
<span id="cb75-2"><a href="#cb75-2" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb75-3"><a href="#cb75-3" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> highlight_branches_col <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Coloring branches </span><span class="sc">\n</span><span class="st"> (default is reversed viridis)&quot;</span>)</span>
<span id="cb75-4"><a href="#cb75-4" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">highlight_branches_col</span>(<span class="fu">viridis</span>(<span class="dv">100</span>)) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;It is better to use </span><span class="sc">\n</span><span class="st"> lighter colors in the leaves&quot;</span>)</span>
<span id="cb75-5"><a href="#cb75-5" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">highlight_branches_col</span>(<span class="fu">rev</span>(<span class="fu">magma</span>(<span class="dv">1000</span>))) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;The magma color pallatte</span><span class="sc">\n</span><span class="st"> is also good&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb76"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb76-1"><a href="#cb76-1" tabindex="-1"></a>dl <span class="ot">&lt;-</span> <span class="fu">dendlist</span>(dend, dend2)</span>
<span id="cb76-2"><a href="#cb76-2" tabindex="-1"></a><span class="fu">tanglegram</span>(dl, <span class="at">sort =</span> <span class="cn">TRUE</span>, <span class="at">common_subtrees_color_lines =</span> <span class="cn">FALSE</span>, <span class="at">highlight_distinct_edges =</span> <span class="cn">FALSE</span>, <span class="at">highlight_branches_lwd =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb77"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb77-1"><a href="#cb77-1" tabindex="-1"></a><span class="fu">tanglegram</span>(dl)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb78"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb78-1"><a href="#cb78-1" tabindex="-1"></a><span class="fu">tanglegram</span>(dl, <span class="at">fast =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAEsCAYAAAAfPc2WAAAEDmlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRBkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4a73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PCv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UAVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXda8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8HOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojLjVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0yDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5PtXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEwQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXHliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vWc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUtVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJfcl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdduwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqvgcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCgKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8ArD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvFY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAJYoAMABAAAAAEAAAEsAAAAAAaSlAMAAEAASURBVHgB7Z0HvBTV2YePvWEIIr0oShEjWEBaQKkiiIAdkWYJftagRBSNGmOMQWOLUTSKXWJvUQEBQVFARKWqKFVAQDQCggUlfj7HnJu5e/fund2d2Z3Z/Z/fb+7Mzs6cOeeZvTv/fc973ne7H38qRkUEREAEREAEREAERCAwAtsHVpMqEgEREAEREAEREAERsAQksPRBEAEREAEREAEREIGACUhgBQxU1YmACIiACIiACIiABJY+AyIgAiIgAiIgAiIQMAEJrICBqjoREAEREAEREAERkMDSZ0AEREAEREAEREAEAiYggRUwUFUnAiIgAiIgAiIgAhJY+gyIgAiIgAiIgAiIQMAEJLACBqrqREAEREAEREAEREACS58BERABERABERABEQiYgARWwEBVnQiIgAiIgAiIgAhIYOkzIAIiIAIiIAIiIAIBE5DAChioqhMBERABERABERABCSx9BkRABERABERABEQgYAISWAEDVXUiIAIiIAIiIAIiIIGlz4AIiIAIiIAIiIAIBExAAitgoKpOBERABERABERABCSw9BkQAREQAREQAREQgYAJSGAFDFTViYAIiIAIiIAIiIAElj4DIiACIiACIiACIhAwAQmsgIGqOhEQAREQAREQARGQwNJnQAREQAREQAREQAQCJiCBFTBQVScCIiACIiACIiACElj6DIiACIiACIiACIhAwAQksAIGqupEQAREQAREQAREQAJLnwEREAEREAEREAERCJiABFbAQFWdCIiACIiACIiACEhg6TMgAiIgAiIgAiIgAgETkMAKGKiqEwEREAEREAEREAEJLH0GREAEREAEREAERCBgAhJYAQNVdSIgAiIgAiIgAiIggaXPgAiIgAiIgAiIgAgETEACK2Cgqk4EREAEREAEREAEJLD0GRABERABERABERCBgAlIYAUMVNWJgAiIQKEQ6N+/v1mwYEGhdEf9EIGcEpDAyiluXayQCCxdutT07du3kLqkvohACYExY8aYDz74wHz//fcl+7QhAiLgn8CO/g/VkSIgAo7Atm3bzDXXXGM2bdrkdgW63rx5s5k7d26gdaqywiRw8MEHm0qVKgXaucWLF5uFCxea7t27B1qvKhOBYiIggVVMd7tA+9q1a1fTsGHD0Hr397//3ey4Y+l/lVGjRplzzjnHXH311aFcF4HFA05FBCoisP/++wcqsPjxcOmll5qbbrrJ3HLLLWbDhg1lmvDDDz+Y888/v8x+7QiGAD+upkyZYnbddddgKlQteSFQ+qmRlybooiKQHYH169fbh0F2tZR/9g477FDqzVmzZpnPP//cirqtW7eaLVu2mD322KPUMdm+2G677bKtQucXCYGgPyt8nmvWrGluvPFGM2PGDLNu3TrTqVOnUjT5n+AHhko4BM4888xwKlatOSUggZVT3LpYGAR22203wzBJrgri6rvvvrPWqyVLlph//etfpl+/foFevlq1auakk04KtE5VVpgEKleuHGjHfvGLX5g77rjD1nnZZZeZU045pUz9iLpc/s+VaUCB72DIN2jhXODIItm97X78qUSyZWqUCPgk0KZNGzNz5kyfRwd7GD4qEyZMCLZS1SYCIlDUBDp27Gi/V3bZZZei5hD3zmsWYdzvoNqfVwISV3nFr4uLgAiIQGQJSGBF9taoYSIgAiIgAiIgAnEloCHCuN65Imn3xIkTzaBBg8w+++xTbo/fe+896xNV7gF6QwREQARiRAAfrAMOOKDM7GW68PHHH9v4ZNWrV49Rj4qzqXJyL877Hpte16pVy/Tq1cvcc8895bYZHywVERABESgUAi1btizXBwu/T4VviMed1hBhPO6TWikCIiACOSPwn//8x7z66qvmhRdeMGyriIAIpE9AAit9ZjpDBMy///1v889//tOa6oVDBAqNAEFGCXa5bNkym7Gg0Pqn/ohALghoiDAXlHWNgiJApOvTTjvN/O53vzOXXHKJue222wzRtIMsXAMRpyICFRHYa6+9TGIw3IrOqeh9YrDtu+++Bh/I5557rqLD9b4IiEASAhJYSaBoV7wIEHl6+vTpoTW6bdu2pYL+EToOnzCiXd93332h5CMkOj3DMyoiUBGB3r17289iRcel8z7i6o033jBXXnmlueiii8qcyv8AUd5VwiGwceNGoxCV4bDNZa0SWLmkrWuFQqBBgwbm6aefDqVuKm3dunUpCwF5CevWrWv+8Ic/mNWrV5saNWqEdm1VLAL5IIDAb9++vRVRfP4To7njlxXm/1w++hyla2KV3H57efBE6Z5k0hYJrEyo6ZxIEci1pYdEtyRjRmCNHz/ejB492lx77bWBMtlzzz3NIYccEmidqqwwCfBZCbr88Y9/NH369DFVqlSxQ4WJ9TMkiZ+WigiIQPkEJLDKZ6N3RCApgW+++cbmHnzggQfM5MmTDWktgi4kj27VqlXQ1ao+EfBF4LrrrjOPPPKInUF49913+zpHB4mACJQmIIFVmodeiUCFBLAY3Hjjj
<div class="sourceCode" id="cb79"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb79-1"><a href="#cb79-1" tabindex="-1"></a>dl <span class="ot">&lt;-</span> <span class="fu">dendlist</span>(<span class="fu">highlight_branches</span>(dend), <span class="fu">highlight_branches</span>(dend2))</span>
<span id="cb79-2"><a href="#cb79-2" tabindex="-1"></a><span class="fu">tanglegram</span>(dl, <span class="at">sort =</span> <span class="cn">TRUE</span>, <span class="at">common_subtrees_color_lines =</span> <span class="cn">FALSE</span>, <span class="at">highlight_distinct_edges =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb80"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb80-1"><a href="#cb80-1" tabindex="-1"></a><span class="co"># dend %&gt;% set(&quot;highlight_branches_col&quot;) %&gt;% plot</span></span>
<span id="cb80-2"><a href="#cb80-2" tabindex="-1"></a></span>
<span id="cb80-3"><a href="#cb80-3" tabindex="-1"></a>dl <span class="ot">&lt;-</span> <span class="fu">dendlist</span>(dend, dend2) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;highlight_branches_col&quot;</span>)</span>
<span id="cb80-4"><a href="#cb80-4" tabindex="-1"></a><span class="fu">tanglegram</span>(dl, <span class="at">sort =</span> <span class="cn">TRUE</span>, <span class="at">common_subtrees_color_lines =</span> <span class="cn">FALSE</span>, <span class="at">highlight_distinct_edges =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
</div>
</div>
<div id="changing-a-dendrograms-structure" class="section level3">
<h3>Changing a dendrograms structure</h3>
<div id="rotation" class="section level4">
<h4>Rotation</h4>
<p>A dendrogram is an object which can be rotated on its hinges without
changing its topology. Rotating a dendrogram in base R can be done using
the <code>reorder</code> function. The problem with this function is
that it is not very intuitive. For this reason the <code>rotate</code>
function was written. It has two main arguments: the “object” (a
dendrogram), and the “order” we wish to rotate it by. The “order”
parameter can be either a numeric vector, used in a similar way we would
order a simple character vector. Or, the order parameter can also be a
character vector of the labels of the tree, given in the new desired
order of the tree. It is also worth noting that some order are
impossible to achieve for a given trees topology. In such cases, the
function will do its “best” to get as close as possible to the requested
rotation.</p>
<div class="sourceCode" id="cb81"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb81-1"><a href="#cb81-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb81-2"><a href="#cb81-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> </span>
<span id="cb81-3"><a href="#cb81-3" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;labels_colors&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb81-4"><a href="#cb81-4" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb81-5"><a href="#cb81-5" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;First tree&quot;</span>)</span>
<span id="cb81-6"><a href="#cb81-6" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span></span>
<span id="cb81-7"><a href="#cb81-7" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;labels_colors&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb81-8"><a href="#cb81-8" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb81-9"><a href="#cb81-9" tabindex="-1"></a> <span class="fu">rotate</span>(<span class="fu">as.character</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">1</span>)) <span class="sc">%&gt;%</span> <span class="co">#rotate to match labels new order</span></span>
<span id="cb81-10"><a href="#cb81-10" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Rotated tree</span><span class="sc">\n</span><span class="st"> based on labels&quot;</span>)</span>
<span id="cb81-11"><a href="#cb81-11" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> </span>
<span id="cb81-12"><a href="#cb81-12" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;labels_colors&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb81-13"><a href="#cb81-13" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb81-14"><a href="#cb81-14" tabindex="-1"></a> <span class="fu">rotate</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">1</span>) <span class="sc">%&gt;%</span> <span class="co"># the fifth label to go first is &quot;4&quot;</span></span>
<span id="cb81-15"><a href="#cb81-15" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Rotated tree</span><span class="sc">\n</span><span class="st"> based on order&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>A new convenience S3 function for <code>sort</code>
(<code>sort.dendrogram</code>) was added:</p>
<div class="sourceCode" id="cb82"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb82-1"><a href="#cb82-1" tabindex="-1"></a>dend110 <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">3</span><span class="sc">:</span><span class="dv">5</span>, <span class="dv">7</span>,<span class="dv">9</span>,<span class="dv">10</span>) <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> <span class="fu">hclust</span>(<span class="at">method =</span> <span class="st">&quot;average&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb82-2"><a href="#cb82-2" tabindex="-1"></a> as.dendrogram <span class="sc">%&gt;%</span> color_labels <span class="sc">%&gt;%</span> color_branches</span>
<span id="cb82-3"><a href="#cb82-3" tabindex="-1"></a></span>
<span id="cb82-4"><a href="#cb82-4" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb82-5"><a href="#cb82-5" tabindex="-1"></a>dend110 <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Original tree&quot;</span>)</span>
<span id="cb82-6"><a href="#cb82-6" tabindex="-1"></a>dend110 <span class="sc">%&gt;%</span> sort <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;labels sort&quot;</span>)</span>
<span id="cb82-7"><a href="#cb82-7" tabindex="-1"></a>dend110 <span class="sc">%&gt;%</span> <span class="fu">sort</span>(<span class="at">type =</span> <span class="st">&quot;nodes&quot;</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;nodes (ladderize) sort&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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a+NNmuSkMeuOO+7YJqnPf/7z8ZrXvGabtt3ejS6++OK49tprt7cY+xMgUEeBb3zjG/HSl750u1rw7LPPZuPODjvsEK9//evjU5/61DaV99BDD2XjWwqTHZeu1nfcpuPjruZfHbfp/LitrS3e8IY3xMyZMzu/tF3PUxj+6Ec/Gk8//fR2lWPnbRMQCLfNqSW2+uQnPxm33nprfOtb38p+sT/2sY/F2WefHddff32ks04zZsyIFBoffvjh6Nu3b9xwww1x2GGHbbJ5/PHHs7Nac+bMybY7+OCDs20GDx6cnWl//vnns7Nd991332ZXFtMAdO+998aCBQs2ldX5Qar/61//ehZA04CZzt6nQSKdjZs1a9amzdOA1PkMWTpr98wzz2zaxgMCBJpfYGvjShqjOl8pnDdvXjZudSWTXk+Tra7ueEhj0p///OdIVyo7LumE2JNPPtlxVaT6ly5dGg8++GCk8ewf//Ef44knnsjGz8029IQAgdwE0u92muekK15pPtM5iKT1KWB1HgOWLVtW8cpgpblHmp+kcSLNpSot//Iv/xLHH3989O/ff4uX00nxdCWu49iVyuvczrRjV+vTa53nSR3Ho/R6+9wunURLHu3/dbz62bGM3r17x8knnxzpJFqlpauxc/bs2dlVzfZ9Os/rfvnLX8Yll1yStTfd4WGpsUD5jW0hkAmMGzeuVL5CuEmjPOiUylcLS6ecckrpueeeS/d9liZPnlwqh8FS+Rc5e14+q10qT7xK5WBYKl9RzF7faaedSpdddlnpZz/7WbZN+barUnnCU9pzzz1L5SuPpaFDh5YOOOCAUnnAKt10002lgQMHlvbaa69SeVApXXPNNaXyoLCp7PbGpPpTvb169Sq98pWvLP3whz8slYNmKbX5wAMPLJUnV6VXv/rVpfIVgNJuu+2WvZ72/e53v1saNWpUaZdddimdcMIJpfIg3F6knwQINJFAx/Gm0rjSPoYdeuih2biRxoTbb789E/jIRz5S2nHHHbNxonwSLFt31llnlV72spdlj9/97neX9thjj9JLXvKSbBxL403HpXxlINv3kEMOycazP/3pT9nL5513Xql8pr80aNCgbNwqB8ps/ZQpU7KxMo2pb3zjG7PxrjwBLN14440di/WYAIEcBcrBLvtdPPzww0sTJ07Mfnd/8pOfZC0o34GQ/R6n3+U0Fvz0pz/N1l9xxRXZnCat23///UsjR47M1leae9x///3ZHOUVr3hFaciQIaVy2Nni6CZMmFAqB7JsfRpPyifms7nSq171qmzcGjFiRFZP2qB8cj2b74wZMyabg6XxpBxYu1zf1Typ43iUjjeVk+Z273jHO7J5WfkKYLbu9NNP73Ku9etf/zob+9K8ruNSaewsB+tSOfSWUrlpHnfSSSeV0rrO87o0/qa2JPPyibWOxXpcAwFXCMvvNktkZ8TSmeryALSJI90GUB7gsjPY7SvTWaB01qgc+tpXxS9+8YsoT4Cys0g//vGPY9GiRVucQUsbpyuAd999d3z729+OBx54INIVw/KkLLvqV57ARTkwZreZbiq4w4PygBef+9znYvz48XHXXXdlr6TbCcqDbpQHouyMVjoLn844lSdyccYZZ2TbnHvuufGFL3whu4r4xz/+Ma688
</div>
<div id="unbranching" class="section level4">
<h4>Unbranching</h4>
<p>We can unbranch a tree:</p>
<div class="sourceCode" id="cb83"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb83-1"><a href="#cb83-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb83-2"><a href="#cb83-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;First tree&quot;</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">3</span>))</span>
<span id="cb83-3"><a href="#cb83-3" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> </span>
<span id="cb83-4"><a href="#cb83-4" tabindex="-1"></a> unbranch <span class="sc">%&gt;%</span> </span>
<span id="cb83-5"><a href="#cb83-5" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Unbranched tree&quot;</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">3</span>))</span>
<span id="cb83-6"><a href="#cb83-6" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> </span>
<span id="cb83-7"><a href="#cb83-7" tabindex="-1"></a> <span class="fu">unbranch</span>(<span class="dv">2</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb83-8"><a href="#cb83-8" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Unbranched tree (2)&quot;</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">3</span>))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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ogd33XWXDBgwINGijM+78sor5b777mvSdq+//nq5+eabY16rJwE/+9nP5KOPPoqZzxMEgizwyiuvmM/Yqqoq0ww9sdbP3b/97W+NNksLaV3n9ddfb3SdTC3QgTrd1+LFi9Pe5Pr1681r33vvvZjXvvrqq/J///d/MfOa+0RPeK655hpRx/fff18uvPBCKSwslEsvvVQ2btxoCvq+ffuKd4LU3P3l2+sp3POoR/v372/OUvVMVf9r37693HjjjfK73/3OtFLn6ejY22+/LQcPHjTzNm3aJHrmq5MmyfTp003S19TUmHmJ5uvBQT+Q9ax4y5YtkfU0CRsm2v79+2Xr1q2RdXiAAAKxApprmpe1tbUmN2OXiuhIWHV1dWS25p0WA3oy7V1N05P0tWvXmitsuqKOXmlu6mv/85//iI6oR08NR7u8ZTpyuGHDBu+p+asfsh988EHMPH2icXvHkYYL9cN+ypQp5oNZRxo3b95sRuV127o9nTheNFTjeZAF9H2t73PNCS0+E5206mewN/Kun5UN80LnrVu3LuZz9WjHB/0M18/khpOOZuv+oiedF33lT5fpPhPFqst0uw8++KCsWbPGXCFMdOxp7PiQaF+6TZ3++te/mqsUFRUV8uijj0rbtm1NnaCx/OY3v5GuXbtKmzZt5Omnn/7vC/h/rICLzpQHAu6ZqtOnTx9n9erV5j/3gGBa5Y7aOd/61rfM47POOsspKyvTT03HHSFwzj77bOeCCy5wOnbs6Pz4xz92tm3b5rRq1copKChwdHve1HD+s88+67hnx06nTp0c90zZcYsO57vf/a7jnuk7nTt3dnS5TjNmzHA6dOjgnHrqqY47cui4Bwxvk/xFIFQC3/72t51rr7020uYxY8Y43/jGN8zziy66yNHl+rxly5aOO1Jt5v/kJz8xuaM5dtxxxznDhg2LzP/617/uHHvssc7YsWOdu+++2ykqKnJOO+005+STT3Y09xcsWGCW9+7d2/na175mlut8t5A3uXjSSSc5J5xwguNeBTDbvPjii81xQvNetztu3Dgz/4033jDHDM1hjdM9CTDz9XWtW7c2r9GcHzx4sJnv/U+POXqccT98HbeIMY/12KPHF7dg53jhQfE3UAKLFi0y72V3lNjE7Z44m+dugem4t7aZxz179nTOOOMMp0WLFs5zzz1nPlc1F7p3724+MzWX/vnPf0bme3nhDqg57mCbc+aZZ5rc+vnPf2720djxwS3YzeevvkaPD3PmzHHcK10mBvcqu3PuueeaGF544QWznZ/+9KdOu3btzDFFjxk6uSf75jNba4AePXqY17oj72aZ/q+ystI55phjzHHpF7/4haPHpOhjT2PHh0T7imzUfTBixAhz7NJ57m09xs69pcgcY9wreDrbeeCBB5yrr77aPOZ/sQKMuMeexwT6mY5y6Rms/verX/0qYVvcg4a5b7ZLly6iZ+puMSF/+ctf5I477pBTTjnFnF2XlpbK8uXLI693kzpuvl4Kdwtz+cc//iHz5883I3I6KqiX92+77TbzWr289tBDD5nRAzfB5amnnopskwcIhEnAPRmOa270PL1MrKPa7gejLF26NLKujo699tpr8tJLL4l7QmxG2XWh3h+vV7L0VrjLLrvM5Kv7wW1G7
</div>
<div id="pruning" class="section level4">
<h4>Pruning</h4>
<p>We can prune a tree based on the labels:</p>
<div class="sourceCode" id="cb84"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb84-1"><a href="#cb84-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb84-2"><a href="#cb84-2" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_colors&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb84-3"><a href="#cb84-3" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;First tree&quot;</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">3</span>))</span>
<span id="cb84-4"><a href="#cb84-4" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_colors&quot;</span>) <span class="sc">%&gt;%</span></span>
<span id="cb84-5"><a href="#cb84-5" tabindex="-1"></a> <span class="fu">prune</span>(<span class="fu">c</span>(<span class="st">&quot;1&quot;</span>,<span class="st">&quot;5&quot;</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb84-6"><a href="#cb84-6" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Prunned tree&quot;</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">3</span>))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>For pruning two trees to have matching labels, we can use the
<code>intersect_trees</code> function:</p>
<div class="sourceCode" id="cb85"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb85-1"><a href="#cb85-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb85-2"><a href="#cb85-2" tabindex="-1"></a>dend_intersected <span class="ot">&lt;-</span> <span class="fu">intersect_trees</span>(dend13, dend15)</span>
<span id="cb85-3"><a href="#cb85-3" tabindex="-1"></a>dend_intersected[[<span class="dv">1</span>]] <span class="sc">%&gt;%</span> plot</span>
<span id="cb85-4"><a href="#cb85-4" tabindex="-1"></a>dend_intersected[[<span class="dv">2</span>]] <span class="sc">%&gt;%</span> plot</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
<div id="collapse-branches" class="section level4">
<h4>Collapse branches</h4>
<p>We can collapse branches under a tolerance level using the
<code>collapse_branch</code> function:</p>
<div class="sourceCode" id="cb86"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb86-1"><a href="#cb86-1" tabindex="-1"></a><span class="co"># ladderize is like sort(..., type = &quot;node&quot;)</span></span>
<span id="cb86-2"><a href="#cb86-2" tabindex="-1"></a>dend <span class="ot">&lt;-</span> iris[<span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>,<span class="sc">-</span><span class="dv">5</span>] <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb86-3"><a href="#cb86-3" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>))</span>
<span id="cb86-4"><a href="#cb86-4" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> ladderize <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">horiz =</span> <span class="cn">TRUE</span>); <span class="fu">abline</span>(<span class="at">v =</span> .<span class="dv">2</span>, <span class="at">col =</span> <span class="dv">2</span>, <span class="at">lty =</span> <span class="dv">2</span>)</span>
<span id="cb86-5"><a href="#cb86-5" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">collapse_branch</span>(<span class="at">tol =</span> <span class="fl">0.2</span>) <span class="sc">%&gt;%</span> ladderize <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">horiz =</span> <span class="cn">TRUE</span>)</span>
<span id="cb86-6"><a href="#cb86-6" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">collapse_branch</span>(<span class="at">tol =</span> <span class="fl">0.2</span>) <span class="sc">%&gt;%</span> ladderize <span class="sc">%&gt;%</span> <span class="fu">hang.dendrogram</span>(<span class="at">hang =</span> <span class="dv">0</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">horiz =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
</div>
<div id="adding-extra-bars-and-rectangles" class="section level3">
<h3>Adding extra bars and rectangles</h3>
<div id="adding-colored-rectangles" class="section level4">
<h4>Adding colored rectangles</h4>
<p>Earlier we have seen how to highlight clusters in a dendrogram by
coloring branches. We can also draw rectangles around the branches of a
dendrogram in order to highlight the corresponding clusters. First the
dendrogram is cut at a certain level, then a rectangle is drawn around
selected branches. This is done using the <code>rect.dendrogram</code>,
which is modeled based on the <code>rect.hclust</code> function. One
advantage of <code>rect.dendrogram</code> over <code>rect.hclust</code>,
is that it also works on horizontally plotted trees:</p>
<div class="sourceCode" id="cb87"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb87-1"><a href="#cb87-1" tabindex="-1"></a><span class="fu">layout</span>(<span class="fu">t</span>(<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">2</span>,<span class="dv">2</span>)))</span>
<span id="cb87-2"><a href="#cb87-2" tabindex="-1"></a></span>
<span id="cb87-3"><a href="#cb87-3" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>) <span class="sc">%&gt;%</span> plot</span>
<span id="cb87-4"><a href="#cb87-4" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">rect.dendrogram</span>(<span class="at">k=</span><span class="dv">3</span>, </span>
<span id="cb87-5"><a href="#cb87-5" tabindex="-1"></a> <span class="at">border =</span> <span class="dv">8</span>, <span class="at">lty =</span> <span class="dv">5</span>, <span class="at">lwd =</span> <span class="dv">2</span>)</span>
<span id="cb87-6"><a href="#cb87-6" tabindex="-1"></a></span>
<span id="cb87-7"><a href="#cb87-7" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>) <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">horiz =</span> <span class="cn">TRUE</span>)</span>
<span id="cb87-8"><a href="#cb87-8" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> <span class="fu">rect.dendrogram</span>(<span class="at">k=</span><span class="dv">3</span>, <span class="at">horiz =</span> <span class="cn">TRUE</span>,</span>
<span id="cb87-9"><a href="#cb87-9" tabindex="-1"></a> <span class="at">border =</span> <span class="dv">8</span>, <span class="at">lty =</span> <span class="dv">5</span>, <span class="at">lwd =</span> <span class="dv">2</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
<div id="adding-colored-bars" class="section level4">
<h4>Adding colored bars</h4>
<p>Adding colored bars to a dendrogram may be useful to show clusters or
some outside categorization of the items. For example:</p>
<div class="sourceCode" id="cb88"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb88-1"><a href="#cb88-1" tabindex="-1"></a>is_odd <span class="ot">&lt;-</span> <span class="fu">ifelse</span>(<span class="fu">labels</span>(dend15) <span class="sc">%%</span> <span class="dv">2</span>, <span class="dv">2</span>,<span class="dv">3</span>)</span>
<span id="cb88-2"><a href="#cb88-2" tabindex="-1"></a>is_345 <span class="ot">&lt;-</span> <span class="fu">ifelse</span>(<span class="fu">labels</span>(dend15) <span class="sc">&gt;</span> <span class="dv">2</span>, <span class="dv">3</span>,<span class="dv">4</span>)</span>
<span id="cb88-3"><a href="#cb88-3" tabindex="-1"></a>is_12 <span class="ot">&lt;-</span> <span class="fu">ifelse</span>(<span class="fu">labels</span>(dend15) <span class="sc">&lt;=</span> <span class="dv">2</span>, <span class="dv">3</span>,<span class="dv">4</span>)</span>
<span id="cb88-4"><a href="#cb88-4" tabindex="-1"></a>k_3 <span class="ot">&lt;-</span> <span class="fu">cutree</span>(dend15,<span class="at">k =</span> <span class="dv">3</span>, <span class="at">order_clusters_as_data =</span> <span class="cn">FALSE</span>) </span>
<span id="cb88-5"><a href="#cb88-5" tabindex="-1"></a><span class="co"># The FALSE above makes sure we get the clusters in the order of the</span></span>
<span id="cb88-6"><a href="#cb88-6" tabindex="-1"></a><span class="co"># dendrogram, and not in that of the original data. It is like:</span></span>
<span id="cb88-7"><a href="#cb88-7" tabindex="-1"></a><span class="co"># cutree(dend15, k = 3)[order.dendrogram(dend15)]</span></span>
<span id="cb88-8"><a href="#cb88-8" tabindex="-1"></a>the_bars <span class="ot">&lt;-</span> <span class="fu">cbind</span>(is_odd, is_345, is_12, k_3)</span>
<span id="cb88-9"><a href="#cb88-9" tabindex="-1"></a>the_bars[the_bars<span class="sc">==</span><span class="dv">2</span>] <span class="ot">&lt;-</span> <span class="dv">8</span></span>
<span id="cb88-10"><a href="#cb88-10" tabindex="-1"></a></span>
<span id="cb88-11"><a href="#cb88-11" tabindex="-1"></a>dend15 <span class="sc">%&gt;%</span> plot</span>
<span id="cb88-12"><a href="#cb88-12" tabindex="-1"></a><span class="fu">colored_bars</span>(<span class="at">colors =</span> the_bars, <span class="at">dend =</span> dend15, <span class="at">sort_by_labels_order =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb89"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb89-1"><a href="#cb89-1" tabindex="-1"></a><span class="co"># we use sort_by_labels_order = FALSE since &quot;the_bars&quot; were set based on the</span></span>
<span id="cb89-2"><a href="#cb89-2" tabindex="-1"></a><span class="co"># labels order. The more common use case is when the bars are based on a second variable</span></span>
<span id="cb89-3"><a href="#cb89-3" tabindex="-1"></a><span class="co"># from the same data.frame as dend was created from. Thus, the default </span></span>
<span id="cb89-4"><a href="#cb89-4" tabindex="-1"></a><span class="co"># sort_by_labels_order = TRUE would make more sense.</span></span></code></pre></div>
<p>Another example, based on mtcars (in which the default of
<code>sort_by_labels_order = TRUE</code> makes sense):</p>
<div class="sourceCode" id="cb90"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb90-1"><a href="#cb90-1" tabindex="-1"></a>dend_mtcars <span class="ot">&lt;-</span> mtcars[, <span class="fu">c</span>(<span class="st">&quot;mpg&quot;</span>, <span class="st">&quot;disp&quot;</span>)] <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> <span class="fu">hclust</span>(<span class="at">method =</span> <span class="st">&quot;average&quot;</span>) <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb90-2"><a href="#cb90-2" tabindex="-1"></a></span>
<span id="cb90-3"><a href="#cb90-3" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mar =</span> <span class="fu">c</span>(<span class="dv">10</span>,<span class="dv">2</span>,<span class="dv">1</span>,<span class="dv">1</span>))</span>
<span id="cb90-4"><a href="#cb90-4" tabindex="-1"></a><span class="fu">plot</span>(dend_mtcars)</span>
<span id="cb90-5"><a href="#cb90-5" tabindex="-1"></a>the_bars <span class="ot">&lt;-</span> <span class="fu">ifelse</span>(mtcars<span class="sc">$</span>am, <span class="st">&quot;grey&quot;</span>, <span class="st">&quot;gold&quot;</span>)</span>
<span id="cb90-6"><a href="#cb90-6" tabindex="-1"></a><span class="fu">colored_bars</span>(<span class="at">colors =</span> the_bars, <span class="at">dend =</span> dend_mtcars, <span class="at">rowLabels =</span> <span class="st">&quot;am&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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CQEhIASEwKQQECOcFNK6jxAQAkJACKxKBMQIV+VrUaOEgBAQAkJgUggUZ5a54oorAtNN3XDDDYHZTLbddtuw5ZZbamqvSb0V3UcICAEhIAQmhkCDEV533XXhwAMPDBdeeGHYaqutwkYbbRRuueWWcM0114Sdd945nHbaaWGXXXaZWON0IyEgBISAEBACy41AgxEedthhYccddwznnntu2GCDDYb3vuOOO8Ipp5wSDj744HDJJZcMz+tACAgBISAEhMC0I9DwEV588cXhxBNPbDBBHnDdddcNRx11VLj++uvjNu0PrfYLASEgBISAEHAEGoxwv/32i+bPwWDg/x/uzznnnGgm3XTTTYfndCAEhIAQEAJCYNoRaJhGTzrppHDIIYeEU089Neywww5hk002CTfffHO48sorw4033hjOPPPMsPbaDd457c+v9gsBISAEhMCcI9BghDvttFMMlMFEStToVVddFTbeeOOw9dZbhwMOOCCsv/76cw6XHl8ICAEhIARmDYEGI+ThWPSVlIlbb701+gY9fWK99dabtWfX8wgBISAEhIAQCA1GqPQJ9QghIASEgBCYNwQajHAp0yd+8pOfhF/+8pdFPG+//faw4YYbhrvc5S7F/+ukEBACQkAICIFJIbCWRYgOQ0Q333zz8I1vfCOUIkMpdp/73CfmEd7znvcc2b5nPOMZ4Uc/+lGx3Pe///3wqEc9Kpx88snF/+tkGYGHPvSh4TOf+Uw0X5dL6KwQWL0I7LPPPjEGYfW2UC2bVwQaGqGnTxxzzDELplOrTZ84/fTTWzFlhhqREBACQkAICIHVgECDESp9YjW8ErVBCAgBISAEJolAgxEqfWKS0OteQkAICAEhsBoQaDBCGkTCPCkUj370o2NCvTeS+UY/8pGPhMc97nF+SnshIASEgBAQAlOPQGOamIsuuiigFT7iEY+Iq0+8+c1vHj4geYWPf/zjh791IASEgBAQAkJgFhBoMMI3vvGN4fnPf3748Y9/HM4777yAz5BzIiEgBISAEBACs4pAwzR6wQUXhLe85S0xYvThD394DNV/yEMeEtMppA3OahfQcwkBISAE5huBBiPcd99941qET3va0yIq2223Xfz92Mc+Vrlr891P9PRCQAgIgZlFoGEaPeKII8LRRx8d2Dvtscce4eyzzw7Pfvaz/ZT2QkAICAEhIARmBoGGRviwhz0srjrxzW9+s/GAnL/00kvjKvWNf+iHEBACQkAICIEpR6ChEfIsrDKx2267LXisLbbYIgbPLPiHTggBISAEhIAQmGIEFjDCKX4WNV0ICAEhIASEQDUCYoTVkOkCISAEhIAQmCUExAhn6W3qWYSAEBACQqAaATHCash0gRAQAkJACMwSAmKEs/Q29SxCQAgIASFQjYAYYTVkukAICAEhIARmCQExwll6m3oWISAEhIAQqEZAjLAaMl0gBISAEBACs4SAGOEsvU09ixAQAkJACFQjIEZYDZkuEAJCQAgIgVlCQIxwlt6mnkUICAEhIASqERAjrIZMFwgBISAEhMAsISBGOEtvU88iBISAEBAC1QiIEVZDpguEgBAQAkJglhAQI5ylt6lnEQJCQAgIgWoExAirIdMFQkAICAEhMEsIiBHO0tvUswgBISAEhEA1A
</div>
</div>
</div>
<div id="ggplot2-integration" class="section level2">
<h2>ggplot2 integration</h2>
<p>The core process is to transform a dendrogram into a
<code>ggdend</code> object using <code>as.ggdend</code>, and then plot
it using <code>ggplot</code> (a new S3 <code>ggplot.ggdend</code>
function is available). These two steps can be done in one command with
either the function <code>ggplot</code> or <code>ggdend</code>.</p>
<p>The reason we want to have <code>as.ggdend</code> (and not only
<code>ggplot.dendrogram</code>), is (1) so that you could create your
own mapping of <code>ggdend</code> and, (2) since <code>as.ggdend</code>
might be slow for large trees, it is probably better to be able to run
it only once for such cases.</p>
<p>A <code>ggdend</code> class object is a list with 3 components:
segments, labels, nodes. Each one contains the graphical parameters from
the original dendrogram, but in a tabular form that can be used by
<code>ggplot2+geom_segment+geom_text</code> to create a dendrogram
plot.</p>
<p>The function <code>prepare.ggdend</code> is used by
<code>plot.ggdend</code> to take the ggdend object and prepare it for
plotting. This is because the defaults of various parameters in
dendrograms are not always stored in the object itself, but are
built-in into the <code>plot.dendrogram</code> function. For example,
the color of the labels is not (by default) specified in the dendrogram
(only if we change it from black to something else). Hence, when taking
the object into a different plotting engine (say ggplot2), we want to
prepare the object by filling-in various defaults. This function is
automatically invoked within the <code>plot.ggdend</code> function. You
would probably use it only if youd wish to build your own ggplot2
mapping.</p>
<div class="sourceCode" id="cb91"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb91-1"><a href="#cb91-1" tabindex="-1"></a><span class="co"># Create a complex dend:</span></span>
<span id="cb91-2"><a href="#cb91-2" tabindex="-1"></a>dend <span class="ot">&lt;-</span> iris[<span class="dv">1</span><span class="sc">:</span><span class="dv">30</span>,<span class="sc">-</span><span class="dv">5</span>] <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram <span class="sc">%&gt;%</span></span>
<span id="cb91-3"><a href="#cb91-3" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>, <span class="at">k=</span><span class="dv">3</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_lwd&quot;</span>, <span class="fu">c</span>(<span class="fl">1.5</span>,<span class="dv">1</span>,<span class="fl">1.5</span>)) <span class="sc">%&gt;%</span></span>
<span id="cb91-4"><a href="#cb91-4" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_lty&quot;</span>, <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">3</span>,<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">2</span>)) <span class="sc">%&gt;%</span></span>
<span id="cb91-5"><a href="#cb91-5" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;labels_colors&quot;</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_cex&quot;</span>, <span class="fu">c</span>(.<span class="dv">9</span>,<span class="fl">1.2</span>)) <span class="sc">%&gt;%</span> </span>
<span id="cb91-6"><a href="#cb91-6" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;nodes_pch&quot;</span>, <span class="dv">19</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_col&quot;</span>, <span class="fu">c</span>(<span class="st">&quot;orange&quot;</span>, <span class="st">&quot;black&quot;</span>, <span class="st">&quot;plum&quot;</span>, <span class="cn">NA</span>))</span>
<span id="cb91-7"><a href="#cb91-7" tabindex="-1"></a><span class="co"># plot the dend in usual &quot;base&quot; plotting engine:</span></span>
<span id="cb91-8"><a href="#cb91-8" tabindex="-1"></a><span class="fu">plot</span>(dend)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb92"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb92-1"><a href="#cb92-1" tabindex="-1"></a><span class="co"># Now let&#39;s do it in ggplot2 :)</span></span>
<span id="cb92-2"><a href="#cb92-2" tabindex="-1"></a>ggd1 <span class="ot">&lt;-</span> <span class="fu">as.ggdend</span>(dend)</span>
<span id="cb92-3"><a href="#cb92-3" tabindex="-1"></a><span class="fu">library</span>(ggplot2)</span>
<span id="cb92-4"><a href="#cb92-4" tabindex="-1"></a><span class="co"># the nodes are not implemented yet.</span></span>
<span id="cb92-5"><a href="#cb92-5" tabindex="-1"></a><span class="fu">ggplot</span>(ggd1) <span class="co"># reproducing the above plot in ggplot2 :)</span></span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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CvfIl+9DwmiNfrBer4LAyVDZ/jbw/U2Apc6rUUpYDDDlYWAk3669AVq3bh3GjRunBjU0NCAmRvCiIwESCHgCIdeJYTAZYDB1/OYT8DXnDwMHnw7lt+fFZxPLvaZusLXAMHyW4GfyGh7qniZyCfVTgOUPUgJUhCCtOH+YbYhIgOHM94HweCAyqT0LuZ01EYYrdkPGoSMBEiABPREIuTdCPVWeP8qiCt0VYuRj4bdQ9q8RWSgwpB8JDDheiKAQSDoSIAES0BkBCqHOKrQnimMIjwXyzoBB/OhIgARIQO8E2DSq9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFUBMPA0mABEiABPROgEKo9xpm+UiABEiABDQJUAg18TCQBEiABEhA7wQohHqvYZaPBEiABEhAkwCFU
<div class="sourceCode" id="cb93"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb93-1"><a href="#cb93-1" tabindex="-1"></a><span class="fu">ggplot</span>(ggd1, <span class="at">horiz =</span> <span class="cn">TRUE</span>, <span class="at">theme =</span> <span class="cn">NULL</span>) <span class="co"># horiz plot (and let&#39;s remove theme) in ggplot2</span></span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb94"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb94-1"><a href="#cb94-1" tabindex="-1"></a><span class="co"># Adding some extra spice to it...</span></span>
<span id="cb94-2"><a href="#cb94-2" tabindex="-1"></a><span class="co"># creating a radial plot:</span></span>
<span id="cb94-3"><a href="#cb94-3" tabindex="-1"></a><span class="co"># ggplot(ggd1) + scale_y_reverse(expand = c(0.2, 0)) + coord_polar(theta=&quot;x&quot;)</span></span>
<span id="cb94-4"><a href="#cb94-4" tabindex="-1"></a><span class="co"># The text doesn&#39;t look so great, so let&#39;s remove it:</span></span>
<span id="cb94-5"><a href="#cb94-5" tabindex="-1"></a><span class="fu">ggplot</span>(ggd1, <span class="at">labels =</span> <span class="cn">FALSE</span>) <span class="sc">+</span> <span class="fu">scale_y_reverse</span>(<span class="at">expand =</span> <span class="fu">c</span>(<span class="fl">0.2</span>, <span class="dv">0</span>)) <span class="sc">+</span> <span class="fu">coord_polar</span>(<span class="at">theta=</span><span class="st">&quot;x&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p><strong>Credit:</strong> These functions are <em>extended</em>
versions of the functions <code>ggdendrogram</code>,
<code>dendro_data</code> (and the hidden <code>dendrogram_data</code>)
from Andrie de Vriess <a href="https://cran.r-project.org/package=ggdendro">ggdendro</a> package.
The motivation for this fork is the need to add more graphical
parameters to the plotted tree. This required a strong mixture of
functions from ggdendro and dendextend (to the point that it seemed
better to just fork the code into its current form).</p>
</div>
<div id="enhancing-other-packages" class="section level2">
<h2>Enhancing other packages</h2>
<p>The dendextend package aims to extend and enhance features from the R
ecosystem. Let us take a look at several examples.</p>
<div id="dendser" class="section level3">
<h3>DendSer</h3>
<p>The DendSer package helps in re-arranging a dendrogram to optimize
visualization-based cost functions. Until now it was only used for
<code>hclust</code> objects, but it can easily be connected to
<code>dendrogram</code> objects by trying to turn the dendrogram into
hclust, on which it runs DendSer. This can be used to rotate the
dendrogram easily by using the <code>rotate_DendSer</code> function:</p>
<div class="sourceCode" id="cb95"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb95-1"><a href="#cb95-1" tabindex="-1"></a><span class="cf">if</span>(<span class="fu">require</span>(DendSer)) {</span>
<span id="cb95-2"><a href="#cb95-2" tabindex="-1"></a> <span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb95-3"><a href="#cb95-3" tabindex="-1"></a> <span class="fu">DendSer.dendrogram</span>(dend15)</span>
<span id="cb95-4"><a href="#cb95-4" tabindex="-1"></a> </span>
<span id="cb95-5"><a href="#cb95-5" tabindex="-1"></a> dend15 <span class="sc">%&gt;%</span> color_branches <span class="sc">%&gt;%</span> plot</span>
<span id="cb95-6"><a href="#cb95-6" tabindex="-1"></a> dend15 <span class="sc">%&gt;%</span> color_branches <span class="sc">%&gt;%</span> rotate_DendSer <span class="sc">%&gt;%</span> plot</span>
<span id="cb95-7"><a href="#cb95-7" tabindex="-1"></a>}</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
<div id="gplots" class="section level3">
<h3>gplots</h3>
<p>The gplots package brings us the <code>heatmap.2</code> function. In
it, we can use our modified dendrograms to get more informative
heat-maps:</p>
<div class="sourceCode" id="cb96"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb96-1"><a href="#cb96-1" tabindex="-1"></a><span class="fu">library</span>(gplots)</span>
<span id="cb96-2"><a href="#cb96-2" tabindex="-1"></a></span>
<span id="cb96-3"><a href="#cb96-3" tabindex="-1"></a>x <span class="ot">&lt;-</span> <span class="fu">as.matrix</span>(datasets<span class="sc">::</span>mtcars)</span>
<span id="cb96-4"><a href="#cb96-4" tabindex="-1"></a></span>
<span id="cb96-5"><a href="#cb96-5" tabindex="-1"></a><span class="fu">heatmap.2</span>(x)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb97"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb97-1"><a href="#cb97-1" tabindex="-1"></a><span class="co"># now let&#39;s spice up the dendrograms a bit:</span></span>
<span id="cb97-2"><a href="#cb97-2" tabindex="-1"></a>Rowv <span class="ot">&lt;-</span> x <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram <span class="sc">%&gt;%</span></span>
<span id="cb97-3"><a href="#cb97-3" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>, <span class="at">k =</span> <span class="dv">3</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_lwd&quot;</span>, <span class="dv">4</span>) <span class="sc">%&gt;%</span></span>
<span id="cb97-4"><a href="#cb97-4" tabindex="-1"></a> ladderize</span>
<span id="cb97-5"><a href="#cb97-5" tabindex="-1"></a><span class="co"># rotate_DendSer(ser_weight = dist(x))</span></span>
<span id="cb97-6"><a href="#cb97-6" tabindex="-1"></a>Colv <span class="ot">&lt;-</span> x <span class="sc">%&gt;%</span> t <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram <span class="sc">%&gt;%</span></span>
<span id="cb97-7"><a href="#cb97-7" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>, <span class="at">k =</span> <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_lwd&quot;</span>, <span class="dv">4</span>) <span class="sc">%&gt;%</span></span>
<span id="cb97-8"><a href="#cb97-8" tabindex="-1"></a> ladderize</span>
<span id="cb97-9"><a href="#cb97-9" tabindex="-1"></a><span class="co"># rotate_DendSer(ser_weight = dist(t(x)))</span></span>
<span id="cb97-10"><a href="#cb97-10" tabindex="-1"></a></span>
<span id="cb97-11"><a href="#cb97-11" tabindex="-1"></a><span class="fu">heatmap.2</span>(x, <span class="at">Rowv =</span> Rowv, <span class="at">Colv =</span> Colv)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
<div id="nmf" class="section level3">
<h3>NMF</h3>
<p>The same as gplots, NMF offers a heatmap function called
<code>aheatmap</code>. We can update it just as we would
<code>heatmap.2</code>.</p>
<p>Since NMF was removed from CRAN (it could still be installed from
source), the example code is still available but not ran in this
vignette.</p>
<div class="sourceCode" id="cb98"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb98-1"><a href="#cb98-1" tabindex="-1"></a><span class="co"># library(NMF)</span></span>
<span id="cb98-2"><a href="#cb98-2" tabindex="-1"></a><span class="co"># </span></span>
<span id="cb98-3"><a href="#cb98-3" tabindex="-1"></a><span class="co"># x &lt;- as.matrix(datasets::mtcars)</span></span>
<span id="cb98-4"><a href="#cb98-4" tabindex="-1"></a><span class="co"># </span></span>
<span id="cb98-5"><a href="#cb98-5" tabindex="-1"></a><span class="co"># # now let&#39;s spice up the dendrograms a bit:</span></span>
<span id="cb98-6"><a href="#cb98-6" tabindex="-1"></a><span class="co"># Rowv &lt;- x %&gt;% dist %&gt;% hclust %&gt;% as.dendrogram %&gt;%</span></span>
<span id="cb98-7"><a href="#cb98-7" tabindex="-1"></a><span class="co"># set(&quot;branches_k_color&quot;, k = 3) %&gt;% set(&quot;branches_lwd&quot;, 4) %&gt;%</span></span>
<span id="cb98-8"><a href="#cb98-8" tabindex="-1"></a><span class="co"># ladderize</span></span>
<span id="cb98-9"><a href="#cb98-9" tabindex="-1"></a><span class="co"># # rotate_DendSer(ser_weight = dist(x))</span></span>
<span id="cb98-10"><a href="#cb98-10" tabindex="-1"></a><span class="co"># Colv &lt;- x %&gt;% t %&gt;% dist %&gt;% hclust %&gt;% as.dendrogram %&gt;%</span></span>
<span id="cb98-11"><a href="#cb98-11" tabindex="-1"></a><span class="co"># set(&quot;branches_k_color&quot;, k = 2) %&gt;% set(&quot;branches_lwd&quot;, 4) %&gt;%</span></span>
<span id="cb98-12"><a href="#cb98-12" tabindex="-1"></a><span class="co"># ladderize</span></span>
<span id="cb98-13"><a href="#cb98-13" tabindex="-1"></a><span class="co"># # rotate_DendSer(ser_weight = dist(t(x)))</span></span>
<span id="cb98-14"><a href="#cb98-14" tabindex="-1"></a><span class="co"># </span></span>
<span id="cb98-15"><a href="#cb98-15" tabindex="-1"></a><span class="co"># aheatmap(x, Rowv = Rowv, Colv = Colv)</span></span></code></pre></div>
</div>
<div id="heatmaply" class="section level3">
<h3>heatmaply</h3>
<p>The heatmaply package create interactive heat-maps that are usable
from the R console, in the RStudio viewer pane, in R Markdown
documents, and in Shiny apps. By hovering the mouse pointer over a
cell or a dendrogram to show details, drag a rectangle to zoom.</p>
<p>The use is very similar to what weve seen before, we just use
<code>heatmaply</code> instead of <code>heatmap.2</code>:</p>
<div class="sourceCode" id="cb99"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb99-1"><a href="#cb99-1" tabindex="-1"></a>x <span class="ot">&lt;-</span> <span class="fu">as.matrix</span>(datasets<span class="sc">::</span>mtcars)</span>
<span id="cb99-2"><a href="#cb99-2" tabindex="-1"></a><span class="co"># heatmaply(x)</span></span>
<span id="cb99-3"><a href="#cb99-3" tabindex="-1"></a><span class="co"># now let&#39;s spice up the dendrograms a bit:</span></span>
<span id="cb99-4"><a href="#cb99-4" tabindex="-1"></a>Rowv <span class="ot">&lt;-</span> x <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram <span class="sc">%&gt;%</span></span>
<span id="cb99-5"><a href="#cb99-5" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>, <span class="at">k =</span> <span class="dv">3</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_lwd&quot;</span>, <span class="dv">4</span>) <span class="sc">%&gt;%</span></span>
<span id="cb99-6"><a href="#cb99-6" tabindex="-1"></a> ladderize</span>
<span id="cb99-7"><a href="#cb99-7" tabindex="-1"></a><span class="co"># rotate_DendSer(ser_weight = dist(x))</span></span>
<span id="cb99-8"><a href="#cb99-8" tabindex="-1"></a>Colv <span class="ot">&lt;-</span> x <span class="sc">%&gt;%</span> t <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram <span class="sc">%&gt;%</span></span>
<span id="cb99-9"><a href="#cb99-9" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>, <span class="at">k =</span> <span class="dv">2</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_lwd&quot;</span>, <span class="dv">4</span>) <span class="sc">%&gt;%</span></span>
<span id="cb99-10"><a href="#cb99-10" tabindex="-1"></a> ladderize</span>
<span id="cb99-11"><a href="#cb99-11" tabindex="-1"></a><span class="co"># rotate_DendSer(ser_weight = dist(t(x)))</span></span></code></pre></div>
<p>Here we need to use <code>cache=FALSe</code> in the markdown:</p>
<div class="sourceCode" id="cb100"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb100-1"><a href="#cb100-1" tabindex="-1"></a><span class="fu">library</span>(heatmaply)</span>
<span id="cb100-2"><a href="#cb100-2" tabindex="-1"></a><span class="fu">heatmaply</span>(x, <span class="at">Rowv =</span> Rowv, <span class="at">Colv =</span> Colv)</span></code></pre></div>
<p>I avoided running the code from above due to space issues on CRAN.
For live examples, please go to:</p>
<ul>
<li><a href="https://talgalili.github.io/heatmaply/articles/heatmaply.html" class="uri">https://talgalili.github.io/heatmaply/articles/heatmaply.html</a></li>
</ul>
</div>
<div id="dynamictreecut" class="section level3">
<h3>dynamicTreeCut</h3>
<p>The <code>cutreeDynamic</code> function offers a wrapper for two
methods of adaptive branch pruning of hierarchical clustering
dendrograms. The results of which can now be visualized by both updating
the branches, as well as using the <code>colored_bars</code> function
(which was adjusted for use with plots of dendrograms):</p>
<div class="sourceCode" id="cb101"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb101-1"><a href="#cb101-1" tabindex="-1"></a><span class="co"># let&#39;s get the clusters</span></span>
<span id="cb101-2"><a href="#cb101-2" tabindex="-1"></a><span class="fu">library</span>(dynamicTreeCut)</span>
<span id="cb101-3"><a href="#cb101-3" tabindex="-1"></a><span class="fu">data</span>(iris)</span>
<span id="cb101-4"><a href="#cb101-4" tabindex="-1"></a>x <span class="ot">&lt;-</span> iris[,<span class="sc">-</span><span class="dv">5</span>] <span class="sc">%&gt;%</span> as.matrix</span>
<span id="cb101-5"><a href="#cb101-5" tabindex="-1"></a>hc <span class="ot">&lt;-</span> x <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust</span>
<span id="cb101-6"><a href="#cb101-6" tabindex="-1"></a>dend <span class="ot">&lt;-</span> hc <span class="sc">%&gt;%</span> as.dendrogram </span>
<span id="cb101-7"><a href="#cb101-7" tabindex="-1"></a></span>
<span id="cb101-8"><a href="#cb101-8" tabindex="-1"></a><span class="co"># Find special clusters:</span></span>
<span id="cb101-9"><a href="#cb101-9" tabindex="-1"></a>clusters <span class="ot">&lt;-</span> <span class="fu">cutreeDynamic</span>(hc, <span class="at">distM =</span> <span class="fu">as.matrix</span>(<span class="fu">dist</span>(x)), <span class="at">method =</span> <span class="st">&quot;tree&quot;</span>)</span>
<span id="cb101-10"><a href="#cb101-10" tabindex="-1"></a><span class="co"># we need to sort them to the order of the dendrogram:</span></span>
<span id="cb101-11"><a href="#cb101-11" tabindex="-1"></a>clusters <span class="ot">&lt;-</span> clusters[<span class="fu">order.dendrogram</span>(dend)]</span>
<span id="cb101-12"><a href="#cb101-12" tabindex="-1"></a>clusters_numbers <span class="ot">&lt;-</span> <span class="fu">unique</span>(clusters) <span class="sc">-</span> (<span class="dv">0</span> <span class="sc">%in%</span> clusters)</span>
<span id="cb101-13"><a href="#cb101-13" tabindex="-1"></a>n_clusters <span class="ot">&lt;-</span> <span class="fu">length</span>(clusters_numbers)</span>
<span id="cb101-14"><a href="#cb101-14" tabindex="-1"></a></span>
<span id="cb101-15"><a href="#cb101-15" tabindex="-1"></a><span class="fu">library</span>(colorspace)</span>
<span id="cb101-16"><a href="#cb101-16" tabindex="-1"></a>cols <span class="ot">&lt;-</span> <span class="fu">rainbow_hcl</span>(n_clusters)</span>
<span id="cb101-17"><a href="#cb101-17" tabindex="-1"></a>true_species_cols <span class="ot">&lt;-</span> <span class="fu">rainbow_hcl</span>(<span class="dv">3</span>)[<span class="fu">as.numeric</span>(iris[,][<span class="fu">order.dendrogram</span>(dend),<span class="dv">5</span>])]</span>
<span id="cb101-18"><a href="#cb101-18" tabindex="-1"></a>dend2 <span class="ot">&lt;-</span> dend <span class="sc">%&gt;%</span> </span>
<span id="cb101-19"><a href="#cb101-19" tabindex="-1"></a> <span class="fu">branches_attr_by_clusters</span>(clusters, <span class="at">values =</span> cols) <span class="sc">%&gt;%</span> </span>
<span id="cb101-20"><a href="#cb101-20" tabindex="-1"></a> <span class="fu">color_labels</span>(<span class="at">col =</span> true_species_cols)</span>
<span id="cb101-21"><a href="#cb101-21" tabindex="-1"></a><span class="fu">plot</span>(dend2)</span>
<span id="cb101-22"><a href="#cb101-22" tabindex="-1"></a>clusters <span class="ot">&lt;-</span> <span class="fu">factor</span>(clusters)</span>
<span id="cb101-23"><a href="#cb101-23" tabindex="-1"></a><span class="fu">levels</span>(clusters)[<span class="sc">-</span><span class="dv">1</span>] <span class="ot">&lt;-</span> cols[<span class="sc">-</span><span class="dv">5</span>][<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">4</span>,<span class="dv">2</span>,<span class="dv">3</span>)] </span>
<span id="cb101-24"><a href="#cb101-24" tabindex="-1"></a> <span class="co"># Get the clusters to have proper colors.</span></span>
<span id="cb101-25"><a href="#cb101-25" tabindex="-1"></a> <span class="co"># fix the order of the colors to match the branches.</span></span>
<span id="cb101-26"><a href="#cb101-26" tabindex="-1"></a><span class="fu">colored_bars</span>(clusters, dend, <span class="at">sort_by_labels_order =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb102"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb102-1"><a href="#cb102-1" tabindex="-1"></a><span class="co"># here we used sort_by_labels_order = FALSE since the clusters were already sorted based on the dendrogram&#39;s order</span></span></code></pre></div>
</div>
<div id="pvclust" class="section level3">
<h3>pvclust</h3>
<p>The pvclust library calculates “p-values”” for hierarchical
clustering via multiscale bootstrap re-sampling. Hierarchical clustering
is done for given data and p-values are computed for each of the
clusters. The dendextend package lets us reproduce the plot from
pvclust, but with a dendrogram (instead of an hclust object), which also
lets us extend the visualization.</p>
<div class="sourceCode" id="cb103"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb103-1"><a href="#cb103-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb103-2"><a href="#cb103-2" tabindex="-1"></a></span>
<span id="cb103-3"><a href="#cb103-3" tabindex="-1"></a><span class="fu">library</span>(pvclust)</span>
<span id="cb103-4"><a href="#cb103-4" tabindex="-1"></a><span class="fu">data</span>(lung) <span class="co"># 916 genes for 73 subjects</span></span>
<span id="cb103-5"><a href="#cb103-5" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">13134</span>)</span>
<span id="cb103-6"><a href="#cb103-6" tabindex="-1"></a>result <span class="ot">&lt;-</span> <span class="fu">pvclust</span>(lung[<span class="dv">1</span><span class="sc">:</span><span class="dv">100</span>, <span class="dv">1</span><span class="sc">:</span><span class="dv">10</span>], </span>
<span id="cb103-7"><a href="#cb103-7" tabindex="-1"></a> <span class="at">method.dist=</span><span class="st">&quot;cor&quot;</span>, <span class="at">method.hclust=</span><span class="st">&quot;average&quot;</span>, <span class="at">nboot=</span><span class="dv">10</span>)</span>
<span id="cb103-8"><a href="#cb103-8" tabindex="-1"></a></span>
<span id="cb103-9"><a href="#cb103-9" tabindex="-1"></a><span class="co"># with pvrect</span></span>
<span id="cb103-10"><a href="#cb103-10" tabindex="-1"></a><span class="fu">plot</span>(result)</span>
<span id="cb103-11"><a href="#cb103-11" tabindex="-1"></a><span class="fu">pvrect</span>(result)</span>
<span id="cb103-12"><a href="#cb103-12" tabindex="-1"></a></span>
<span id="cb103-13"><a href="#cb103-13" tabindex="-1"></a><span class="co"># with a dendrogram of pvrect</span></span>
<span id="cb103-14"><a href="#cb103-14" tabindex="-1"></a>dend <span class="ot">&lt;-</span> <span class="fu">as.dendrogram</span>(result)</span>
<span id="cb103-15"><a href="#cb103-15" tabindex="-1"></a>result <span class="sc">%&gt;%</span> as.dendrogram <span class="sc">%&gt;%</span> </span>
<span id="cb103-16"><a href="#cb103-16" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Cluster dendrogram with AU/BP values (%)</span><span class="sc">\n</span><span class="st"> reproduced plot with dendrogram&quot;</span>)</span>
<span id="cb103-17"><a href="#cb103-17" tabindex="-1"></a>result <span class="sc">%&gt;%</span> text</span>
<span id="cb103-18"><a href="#cb103-18" tabindex="-1"></a>result <span class="sc">%&gt;%</span> pvrect</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>Lets color and thicken the branches based on the p-values:</p>
<div class="sourceCode" id="cb104"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb104-1"><a href="#cb104-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>))</span>
<span id="cb104-2"><a href="#cb104-2" tabindex="-1"></a></span>
<span id="cb104-3"><a href="#cb104-3" tabindex="-1"></a><span class="co"># with a modified dendrogram of pvrect</span></span>
<span id="cb104-4"><a href="#cb104-4" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">pvclust_show_signif</span>(result) <span class="sc">%&gt;%</span> </span>
<span id="cb104-5"><a href="#cb104-5" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Cluster dendrogram </span><span class="sc">\n</span><span class="st"> bp values are highlighted by signif&quot;</span>)</span>
<span id="cb104-6"><a href="#cb104-6" tabindex="-1"></a></span>
<span id="cb104-7"><a href="#cb104-7" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">pvclust_show_signif</span>(result, <span class="at">show_type =</span> <span class="st">&quot;lwd&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb104-8"><a href="#cb104-8" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Cluster dendrogram with AU/BP values (%)</span><span class="sc">\n</span><span class="st"> bp values are highlighted by signif&quot;</span>)</span>
<span id="cb104-9"><a href="#cb104-9" tabindex="-1"></a>result <span class="sc">%&gt;%</span> text</span>
<span id="cb104-10"><a href="#cb104-10" tabindex="-1"></a>result <span class="sc">%&gt;%</span> <span class="fu">pvrect</span>(<span class="at">alpha=</span><span class="fl">0.95</span>)</span>
<span id="cb104-11"><a href="#cb104-11" tabindex="-1"></a></span>
<span id="cb104-12"><a href="#cb104-12" tabindex="-1"></a></span>
<span id="cb104-13"><a href="#cb104-13" tabindex="-1"></a>dend <span class="sc">%&gt;%</span> <span class="fu">pvclust_show_signif_gradient</span>(result) <span class="sc">%&gt;%</span> </span>
<span id="cb104-14"><a href="#cb104-14" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Cluster dendrogram with AU/BP values (%)</span><span class="sc">\n</span><span class="st"> bp values are colored by signif&quot;</span>)</span>
<span id="cb104-15"><a href="#cb104-15" tabindex="-1"></a></span>
<span id="cb104-16"><a href="#cb104-16" tabindex="-1"></a>dend <span class="sc">%&gt;%</span></span>
<span id="cb104-17"><a href="#cb104-17" tabindex="-1"></a> <span class="fu">pvclust_show_signif_gradient</span>(result) <span class="sc">%&gt;%</span></span>
<span id="cb104-18"><a href="#cb104-18" tabindex="-1"></a> <span class="fu">pvclust_show_signif</span>(result) <span class="sc">%&gt;%</span></span>
<span id="cb104-19"><a href="#cb104-19" tabindex="-1"></a> <span class="fu">plot</span>(<span class="at">main =</span> <span class="st">&quot;Cluster dendrogram with AU/BP values (%)</span><span class="sc">\n</span><span class="st"> bp values are colored+highlighted by signif&quot;</span>)</span>
<span id="cb104-20"><a href="#cb104-20" tabindex="-1"></a>result <span class="sc">%&gt;%</span> text</span>
<span id="cb104-21"><a href="#cb104-21" tabindex="-1"></a>result <span class="sc">%&gt;%</span> <span class="fu">pvrect</span>(<span class="at">alpha=</span><span class="fl">0.95</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAYAAAC+ZpjcAAAEDmlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRBkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4a73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PCv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UAVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXda8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8HOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojLjVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0yDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5PtXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEwQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXHliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vWc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUtVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJfcl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdduwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqvgcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCgKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8ArD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvFY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAJYoAMABAAAAAEAAAJYAAAAAIxUoKIAAEAASURBVHgB7J0HnBRF9sd/m3fZALuwLDknRUCiiCKKiCQlnZ535nDGE8OdZw6oZ8LsqX8Pc8SAHCgKGBAFEQEBRcKyZBZ2CZtz6n/9CnuYnZ2ZnZ2dvK/4LNNdXV1d9a3u16+rXr0KM1SABCEgBISAEBACQkAICAGPEQj3WE6SkRAQAkJACAgBISAEhIAmIAqW3AhCQAgIASEgBISAEPAwAVGwPAxUshMCQkAICAEhIASEgChYcg8IASEgBISAEBACQsDDBETB8jBQyU4ICAEhIASEgBAQAqJgyT0gBISAEBACQkAICAEPExAFy8NAJTshIASEgBAQAkJACIiCJfeAEBACQkAICAEhIAQ8TEAULA8DleyEgBAQAkJACAgBISAKltwDQkAICAEhIASEgBDwMAFRsDwMVLITAkJACAgBISAEhIAoWHIPCAEhIASEgBAQAkLAwwREwfIwUG9kV1lZ6Y1sJU8hIAQ8SECeUw/ClKw8RqCmpgZ5eXngb1MPhmFoFvxlsMekoqIChYWFFlRVVVXIz8+37DdkQxSshtDycdp3330Xffv2RVxcHFq0aIG//vWvyMrK0qXgb1paGv75z382ulTM6+233250PvYyuO+++3Q5d+zYYe+w23Fr1qzR+T777LNu5yEnCgFPEJDn1DFFbz3/jq/ovyP2ZPIPP/yAlStX6kL93//9n5ZZjHM18MXesWNHfR5lnnX473//q+Pnzp1rid6zZ4+O+9vf/maJ++qrr9CmTRvwA2DKlCn6ON8d/OvatStOP/10fPvtt5b0kydPtqRp27YtunfvjmuuuQYFBQWWNI3dsMeqsXm6cv7rr7+OQYMG6aTk16VLFwwZMgTr16+3nP6Xv/wFDzzwgGWfbdC6dWv88ssvljhXN0TBcpWUj9M988wzuPjii5GZmQk+LAMGDMAHH3wANj5DdXU1Dh482Oibng9dr169MG/ePK/UkF8CLCfL68nArwzmW1xc7MlsJS8h0CAC8pw6x+Wt59/5Vf1zNDo6GqeddpqWpyzBZ599pvd37typC1RSUqJlFmWXq+H999/Hvn379HmvvPJKrdPM/EpLSy3x5nvBusfl+++/x7BhwxATE4Pc3Fyd17Rp0/DnP/8Zo0aNAhW3SZMm6Z4dZmSmOeecczBu3DjEx8eDyshVV11luU5jN8xyelJpq69M5eXlmDlzpn6vhoWF4aGHHsLjjz+Odu3a4bXXXtOnb9iwAYsXL8a//vUvS3YtW7bE+PHjwY+FhobIhp4g6b1PgN251KA7deqEjRs3IjExUV/03HPP1QoFHzjeINZh1apV4JcRFbD27dsjIyMD//vf/zB27Fj0798fe/fu1TfO9u3btcbOeOb7zjvv6O7Qbdu26Zvsyiuv1NlSOCxbtgz8grnkkkuQmpqKw4cP480339QP5ZIlS5CSkoLrrrvOuhh6m19U/Grjl4FtoFDgzbxr1y79JcHyhoeH6zJQgFBA8TpLly5Fnz59cPnll+vjzIcsqGQmJSXpOpl5OysXy0kBw17A6dOn6zzN837//XedX/PmzbWw+eijjzBy5EicdNJJ4JdOQkICKDTXrVun60mhwIeP53Xu3Bl/+tOf9MNJJZjlmjBhAtgOW7ZsAb8CTzzxRLBOOTk5ul2OP/5489LyGwIE3HlO2VPMZ+Daa6/VBBYuXIjNmzfjxhtv1C/Ahjynjp4lZ8+DNXZvPaeO8nVWLneeU/as2JNHfB49+ZxSfvz888+6F4cyk3KV8vXvf/87YmNjQbmRnZ2tZRVlB3tFeG9QJjCwjSnLzVBWVoYXXnhBK05Tp07F8OHDzUN1fl999VXwBU8lYM6cOXj66act74M6iR1E8L1AuWodnnzySa04MY7y7/nnnwcVwYEDB1qSsYyUm5R7fKeQKbcjIiIsaSgn+ZHL+5eBdfvPf/6Dnj17ahnoqC0sGfyxUd9z4ehe51AfFUSWjeU65ZRT6tTVvBZ7mvl8seOiqKgIBw4c0D177N3j+4+B71321rF3zzrwHMr71atXY+jQodaHnG+rAkoIMALfffcdB4iNW265xWHJlJKl06jeLZ3mkUce0fvLly/X+0oI6H315WGo7lhDCQJD9YIZ6qvEUF8yhnqwdbozzzxTp2PcySefrOOUpq7jVM+WoZQMQylZhuotMn799Vcdr24+Q93MhlLSdHrr/9SDqtOoLlVD3biGUob0fnp6uqG+IHQZlEKlf1nHCy64QJ++e/dunU4JTYN/quta799///36uHr4dR0iIyMNpahY8n344Ycdluvmm2/WeSgBZfA81nHBggWW65GJmZ/qhtdpyZGhd+/eRqtWrfRxpWQZLF+3bt0M5jVixAiDcdxnIHPWRQkhQ3U/G8nJyfpaanhX75OVUlAN9VWp08t/oUHAnedUKd36eTIJqGF/fe+oXoMGPafOniV/PqfOnn9H5XL3ObWXn3rZe/w5NWWpUhx1syllSbfZN998Y6gRAEOZbxgTJ040rGWyMokwlOKi0
</div>
<div id="circlize" class="section level3">
<h3>circlize</h3>
<p>Circular layout is an efficient way for the visualization of huge
amounts of information. The circlize package provides an implementation
of circular layout generation in R, including a solution for dendrogram
objects produced using dendextend:</p>
<div class="sourceCode" id="cb105"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb105-1"><a href="#cb105-1" tabindex="-1"></a><span class="fu">library</span>(circlize)</span>
<span id="cb105-2"><a href="#cb105-2" tabindex="-1"></a></span>
<span id="cb105-3"><a href="#cb105-3" tabindex="-1"></a>dend <span class="ot">&lt;-</span> iris[<span class="dv">1</span><span class="sc">:</span><span class="dv">40</span>,<span class="sc">-</span><span class="dv">5</span>] <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram <span class="sc">%&gt;%</span></span>
<span id="cb105-4"><a href="#cb105-4" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_k_color&quot;</span>, <span class="at">k=</span><span class="dv">3</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;branches_lwd&quot;</span>, <span class="fu">c</span>(<span class="dv">5</span>,<span class="dv">2</span>,<span class="fl">1.5</span>)) <span class="sc">%&gt;%</span></span>
<span id="cb105-5"><a href="#cb105-5" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;branches_lty&quot;</span>, <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">3</span>,<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">2</span>)) <span class="sc">%&gt;%</span></span>
<span id="cb105-6"><a href="#cb105-6" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;labels_colors&quot;</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_cex&quot;</span>, <span class="fu">c</span>(.<span class="dv">6</span>,<span class="fl">1.5</span>)) <span class="sc">%&gt;%</span></span>
<span id="cb105-7"><a href="#cb105-7" tabindex="-1"></a> <span class="fu">set</span>(<span class="st">&quot;nodes_pch&quot;</span>, <span class="dv">19</span>) <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;nodes_col&quot;</span>, <span class="fu">c</span>(<span class="st">&quot;orange&quot;</span>, <span class="st">&quot;black&quot;</span>, <span class="st">&quot;plum&quot;</span>, <span class="cn">NA</span>))</span>
<span id="cb105-8"><a href="#cb105-8" tabindex="-1"></a></span>
<span id="cb105-9"><a href="#cb105-9" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mar =</span> <span class="fu">rep</span>(<span class="dv">0</span>,<span class="dv">4</span>))</span>
<span id="cb105-10"><a href="#cb105-10" tabindex="-1"></a><span class="fu">circlize_dendrogram</span>(dend)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb106"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb106-1"><a href="#cb106-1" tabindex="-1"></a><span class="co"># circlize_dendrogram(dend, labels = FALSE)</span></span>
<span id="cb106-2"><a href="#cb106-2" tabindex="-1"></a><span class="co"># circlize_dendrogram(dend, facing = &quot;inside&quot;, labels = FALSE)</span></span></code></pre></div>
<p>The above is a wrapper for functions in circlize. An advantage for
using the circlize package directly is for plotting a circular
dendrogram so that you can add more graphics for the elements in the
tree just by adding more tracks using . For example:</p>
<div class="sourceCode" id="cb107"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb107-1"><a href="#cb107-1" tabindex="-1"></a><span class="co"># dend &lt;- iris[1:40,-5] %&gt;% dist %&gt;% hclust %&gt;% as.dendrogram %&gt;%</span></span>
<span id="cb107-2"><a href="#cb107-2" tabindex="-1"></a><span class="co"># set(&quot;branches_k_color&quot;, k=3) %&gt;% set(&quot;branches_lwd&quot;, c(5,2,1.5)) %&gt;%</span></span>
<span id="cb107-3"><a href="#cb107-3" tabindex="-1"></a><span class="co"># set(&quot;branches_lty&quot;, c(1,1,3,1,1,2)) %&gt;%</span></span>
<span id="cb107-4"><a href="#cb107-4" tabindex="-1"></a><span class="co"># set(&quot;labels_colors&quot;) %&gt;% set(&quot;labels_cex&quot;, c(.9,1.2)) %&gt;%</span></span>
<span id="cb107-5"><a href="#cb107-5" tabindex="-1"></a><span class="co"># set(&quot;nodes_pch&quot;, 19) %&gt;% set(&quot;nodes_col&quot;, c(&quot;orange&quot;, &quot;black&quot;, &quot;plum&quot;, NA))</span></span>
<span id="cb107-6"><a href="#cb107-6" tabindex="-1"></a></span>
<span id="cb107-7"><a href="#cb107-7" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">2015-07-10</span>) </span>
<span id="cb107-8"><a href="#cb107-8" tabindex="-1"></a><span class="co"># In the following we get the dendrogram but can also get extra information on top of it</span></span>
<span id="cb107-9"><a href="#cb107-9" tabindex="-1"></a><span class="fu">circos.initialize</span>(<span class="st">&quot;foo&quot;</span>, <span class="at">xlim =</span> <span class="fu">c</span>(<span class="dv">0</span>, <span class="dv">40</span>))</span>
<span id="cb107-10"><a href="#cb107-10" tabindex="-1"></a><span class="fu">circos.track</span>(<span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>, <span class="dv">1</span>), <span class="at">panel.fun =</span> <span class="cf">function</span>(x, y) {</span>
<span id="cb107-11"><a href="#cb107-11" tabindex="-1"></a> <span class="fu">circos.rect</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">40</span><span class="fl">-0.8</span>, <span class="fu">rep</span>(<span class="dv">0</span>, <span class="dv">40</span>), <span class="dv">1</span><span class="sc">:</span><span class="dv">40</span><span class="fl">-0.2</span>, <span class="fu">runif</span>(<span class="dv">40</span>), <span class="at">col =</span> <span class="fu">rand_color</span>(<span class="dv">40</span>), <span class="at">border =</span> <span class="cn">NA</span>)</span>
<span id="cb107-12"><a href="#cb107-12" tabindex="-1"></a>}, <span class="at">bg.border =</span> <span class="cn">NA</span>)</span>
<span id="cb107-13"><a href="#cb107-13" tabindex="-1"></a><span class="fu">circos.track</span>(<span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>, <span class="dv">1</span>), <span class="at">panel.fun =</span> <span class="cf">function</span>(x, y) {</span>
<span id="cb107-14"><a href="#cb107-14" tabindex="-1"></a> <span class="fu">circos.text</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">40</span><span class="fl">-0.5</span>, <span class="fu">rep</span>(<span class="dv">0</span>, <span class="dv">40</span>), <span class="fu">labels</span>(dend), <span class="at">col =</span> <span class="fu">labels_colors</span>(dend),</span>
<span id="cb107-15"><a href="#cb107-15" tabindex="-1"></a> <span class="at">facing =</span> <span class="st">&quot;clockwise&quot;</span>, <span class="at">niceFacing =</span> <span class="cn">TRUE</span>, <span class="at">adj =</span> <span class="fu">c</span>(<span class="dv">0</span>, <span class="fl">0.5</span>))</span>
<span id="cb107-16"><a href="#cb107-16" tabindex="-1"></a>}, <span class="at">bg.border =</span> <span class="cn">NA</span>, <span class="at">track.height =</span> <span class="fl">0.1</span>)</span>
<span id="cb107-17"><a href="#cb107-17" tabindex="-1"></a>max_height <span class="ot">=</span> <span class="fu">attr</span>(dend, <span class="st">&quot;height&quot;</span>)</span>
<span id="cb107-18"><a href="#cb107-18" tabindex="-1"></a><span class="fu">circos.track</span>(<span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>, max_height), <span class="at">panel.fun =</span> <span class="cf">function</span>(x, y) {</span>
<span id="cb107-19"><a href="#cb107-19" tabindex="-1"></a> <span class="fu">circos.dendrogram</span>(dend, <span class="at">max_height =</span> max_height)</span>
<span id="cb107-20"><a href="#cb107-20" tabindex="-1"></a>}, <span class="at">track.height =</span> <span class="fl">0.5</span>, <span class="at">bg.border =</span> <span class="cn">NA</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb108"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb108-1"><a href="#cb108-1" tabindex="-1"></a><span class="fu">circos.clear</span>()</span></code></pre></div>
</div>
</div>
<div id="comparing-two-dendrograms" class="section level2">
<h2>Comparing two dendrograms</h2>
<div id="dendlist" class="section level3">
<h3>dendlist</h3>
<p>A <code>dendlist</code> is a function which produces the dendlist
class. It accepts several dendrograms and/or dendlist objects and chain
them all together. This function aim to help with the usability of
comparing two or more dendrograms.</p>
<div class="sourceCode" id="cb109"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb109-1"><a href="#cb109-1" tabindex="-1"></a>dend15 <span class="ot">&lt;-</span> <span class="fu">c</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>) <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> <span class="fu">hclust</span>(<span class="at">method =</span> <span class="st">&quot;average&quot;</span>) <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb109-2"><a href="#cb109-2" tabindex="-1"></a>dend15 <span class="ot">&lt;-</span> dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels_to_char&quot;</span>)</span>
<span id="cb109-3"><a href="#cb109-3" tabindex="-1"></a>dend51 <span class="ot">&lt;-</span> dend15 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels&quot;</span>, <span class="fu">as.character</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">1</span>)) <span class="sc">%&gt;%</span> <span class="fu">match_order_by_labels</span>(dend15)</span>
<span id="cb109-4"><a href="#cb109-4" tabindex="-1"></a>dends_15_51 <span class="ot">&lt;-</span> <span class="fu">dendlist</span>(dend15, dend51)</span>
<span id="cb109-5"><a href="#cb109-5" tabindex="-1"></a>dends_15_51</span></code></pre></div>
<pre><code>#&gt; [[1]]
#&gt; &#39;dendrogram&#39; with 2 branches and 5 members total, at height 2.5
#&gt;
#&gt; [[2]]
#&gt; &#39;dendrogram&#39; with 2 branches and 5 members total, at height 2.5
#&gt;
#&gt; attr(,&quot;class&quot;)
#&gt; [1] &quot;dendlist&quot;</code></pre>
<div class="sourceCode" id="cb111"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb111-1"><a href="#cb111-1" tabindex="-1"></a><span class="fu">head</span>(dends_15_51)</span></code></pre></div>
<pre><code>#&gt; ============
#&gt; dend 1
#&gt; ---------
#&gt; --[dendrogram w/ 2 branches and 5 members at h = 2.5]
#&gt; |--[dendrogram w/ 2 branches and 2 members at h = 1]
#&gt; | |--leaf &quot;1&quot;
#&gt; | `--leaf &quot;2&quot;
#&gt; `--[dendrogram w/ 2 branches and 3 members at h = 1.5]
#&gt; |--leaf &quot;5&quot;
#&gt; `--[dendrogram w/ 2 branches and 2 members at h = 1]
#&gt; |--leaf &quot;3&quot;
#&gt; `--leaf &quot;4&quot;
#&gt; etc...
#&gt; ============
#&gt; dend 2
#&gt; ---------
#&gt; --[dendrogram w/ 2 branches and 5 members at h = 2.5]
#&gt; |--[dendrogram w/ 2 branches and 2 members at h = 1]
#&gt; | |--leaf &quot;5&quot;
#&gt; | `--leaf &quot;4&quot;
#&gt; `--[dendrogram w/ 2 branches and 3 members at h = 1.5]
#&gt; |--leaf &quot;3&quot;
#&gt; `--[dendrogram w/ 2 branches and 2 members at h = 1]
#&gt; |--leaf &quot;2&quot;
#&gt; `--leaf &quot;1&quot;
#&gt; etc...</code></pre>
<p>The function <code>match_order_by_labels</code> makes sure that the
order in the leaves corresponds to the same labels in both trees.</p>
</div>
<div id="dend_diff" class="section level3">
<h3>dend_diff</h3>
<p>The <code>dend_diff</code> function plots two trees side by side,
highlighting edges unique to each tree in red, it relies on the
<code>distinct_edges</code> function.</p>
<p>For example:</p>
<div class="sourceCode" id="cb113"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb113-1"><a href="#cb113-1" tabindex="-1"></a><span class="co"># example 1</span></span>
<span id="cb113-2"><a href="#cb113-2" tabindex="-1"></a>x <span class="ot">&lt;-</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">5</span> <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb113-3"><a href="#cb113-3" tabindex="-1"></a>y <span class="ot">&lt;-</span> <span class="fu">set</span>(x, <span class="st">&quot;labels&quot;</span>, <span class="dv">5</span><span class="sc">:</span><span class="dv">1</span>)</span>
<span id="cb113-4"><a href="#cb113-4" tabindex="-1"></a></span>
<span id="cb113-5"><a href="#cb113-5" tabindex="-1"></a><span class="co"># example 2</span></span>
<span id="cb113-6"><a href="#cb113-6" tabindex="-1"></a>dend1 <span class="ot">&lt;-</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">10</span> <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb113-7"><a href="#cb113-7" tabindex="-1"></a>dend2 <span class="ot">&lt;-</span> dend1 <span class="sc">%&gt;%</span> <span class="fu">set</span>(<span class="st">&quot;labels&quot;</span>, <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>,<span class="dv">2</span>,<span class="dv">4</span>, <span class="dv">5</span><span class="sc">:</span><span class="dv">10</span>) )</span>
<span id="cb113-8"><a href="#cb113-8" tabindex="-1"></a><span class="fu">dend_diff</span>(dend1, dend2)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>See the <code>highlight_distinct_edges</code> function for more
control over how to create the distinction (color, line width, line
type).</p>
</div>
<div id="tanglegram" class="section level3">
<h3>tanglegram</h3>
<p>A tanglegram plot gives two dendrogram (with the same set of labels),
one facing the other, and having their labels connected by lines.
Tanglegram can be used for visually comparing two methods of
Hierarchical clustering, and are sometimes used in biology when
comparing two phylogenetic trees.</p>
<p>Here is an example of creating a tanglegram using dendextend:</p>
<div class="sourceCode" id="cb114"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb114-1"><a href="#cb114-1" tabindex="-1"></a><span class="fu">tanglegram</span>(dends_15_51)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb115"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb115-1"><a href="#cb115-1" tabindex="-1"></a><span class="co"># Same as using:</span></span>
<span id="cb115-2"><a href="#cb115-2" tabindex="-1"></a><span class="co"># plot(dends_15_51) # since there is a plot method for dendlist</span></span>
<span id="cb115-3"><a href="#cb115-3" tabindex="-1"></a><span class="co"># and also: </span></span>
<span id="cb115-4"><a href="#cb115-4" tabindex="-1"></a><span class="co"># tanglegram(dend15, dend51)</span></span></code></pre></div>
<p>Notice how “unique” nodes are highlighted with dashed lines (i.e.:
nodes which contains a combination of labels/items, which are not
present in the other tree). This can be turned off using
<code>highlight_distinct_edges = FALSE</code>. Also notice how the
connecting lines are colored to highlight two sub-trees which are
present in both dendrograms. This can be turned off by setting
<code>common_subtrees_color_lines = FALSE</code>. We can also color the
branches of the trees to show the two common sub-trees using
<code>common_subtrees_color_branches = TRUE</code>:</p>
<div class="sourceCode" id="cb116"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb116-1"><a href="#cb116-1" tabindex="-1"></a><span class="fu">tanglegram</span>(dends_15_51, <span class="at">common_subtrees_color_branches =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>We may wish to improve the layout of the trees. For this we have the
<code>entanglement</code>, to measure the quality of the alignment of
the two trees in the tanglegram layout, and the <code>untangle</code>
function, for improving it.</p>
<div class="sourceCode" id="cb117"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb117-1"><a href="#cb117-1" tabindex="-1"></a>dends_15_51 <span class="sc">%&gt;%</span> entanglement <span class="co"># lower is better</span></span></code></pre></div>
<pre><code>#&gt; [1] 0.9167078</code></pre>
<div class="sourceCode" id="cb119"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb119-1"><a href="#cb119-1" tabindex="-1"></a><span class="co"># dends_15_51 %&gt;% untangle(method = &quot;DendSer&quot;) %&gt;% entanglement # lower is better</span></span>
<span id="cb119-2"><a href="#cb119-2" tabindex="-1"></a>dends_15_51 <span class="sc">%&gt;%</span> <span class="fu">untangle</span>(<span class="at">method =</span> <span class="st">&quot;step1side&quot;</span>) <span class="sc">%&gt;%</span> entanglement <span class="co"># lower is better</span></span></code></pre></div>
<pre><code>#&gt; [1] 0</code></pre>
<p>Notice that just because we can get two trees to have horizontal
connecting lines, it doesnt mean these trees are identical (or even
very similar topologically):</p>
<div class="sourceCode" id="cb121"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb121-1"><a href="#cb121-1" tabindex="-1"></a>dends_15_51 <span class="sc">%&gt;%</span> <span class="fu">untangle</span>(<span class="at">method =</span> <span class="st">&quot;step1side&quot;</span>) <span class="sc">%&gt;%</span> </span>
<span id="cb121-2"><a href="#cb121-2" tabindex="-1"></a> <span class="fu">tanglegram</span>(<span class="at">common_subtrees_color_branches =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>Entanglement is measured by giving the left trees labels the values
of 1 till tree size, and than match these numbers with the right tree.
Now, entanglement is the L norm distance between these two vectors. That
is, we take the sum of the absolute difference (each one in the power of
L). e.g: <code>sum(abs(x-y)**L)</code>. And this is divided by the
“worst case” entanglement level (e.g: when the right tree is the
complete reverse of the left tree).</p>
<p>L tells us which penalty level we are at (L0, L1, L2, partial Ls
etc). L&gt;1 means that we give a big penalty for sharp angles. While
L-&gt;0 means that any time something is not a straight horizontal line,
it gets a large penalty If L=0.1 it means that we much prefer straight
lines over non straight lines</p>
<p>Finding an optimal rotation for the tanglegram of two dendrogram is a
hard problem. This problem is also harder for larger trees.</p>
<p>Lets see how well some untangle methods can do.</p>
<p>Without doing anything:</p>
<div class="sourceCode" id="cb122"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb122-1"><a href="#cb122-1" tabindex="-1"></a>x <span class="ot">&lt;-</span> dends_15_51 </span>
<span id="cb122-2"><a href="#cb122-2" tabindex="-1"></a>x <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="fu">paste</span>(<span class="st">&quot;entanglement =&quot;</span>, <span class="fu">round</span>(<span class="fu">entanglement</span>(x), <span class="dv">2</span>)))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXcAAADhCAYAAAAziPUUAAAEDmlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRBkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4a73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PCv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UAVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXda8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8HOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojLjVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0yDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5PtXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEwQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXHliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vWc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUtVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJfcl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdduwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqvgcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCgKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8ArD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvFY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAF3oAMABAAAAAEAAADhAAAAAN7st4EAAEAASURBVHgB7V0HmBRFFn6wpGXJOS5LXJJkDAQJSkZQFEVQSQKCnh7emUVAFEVFDAhygGIAyaiggiggCEqSzO6yLDlKzmmhr/5aq+nJPTM9sxPe+76Z6a7UVX/3vK569UIWTRAxMQKMACPACEQUAlkjajQ8GEaAEWAEGAGJADN3fhAYAUaAEYhABJi5R+BN5SExAowAI8DMnZ8BRoARYAQiEAFm7hF4U3lIjAAjwAgwc+dngBFgBBiBCESAmXsE3lQeEiPACDACzNz5GWAEGAFGIAIRYOYegTeVh8QIMAKMADP3EH8G1q9fH+I9dN29evXqUenSpenXX391XSgKc0Lpnl6/fp0mT55MTZs2peLFi9Mtt9xCTzzxBC1dutTnO3Px4kUaMmQINW/enIoWLUqJiYn06KOP0l9//eW2zWXLltEDDzwg+1CoUCGqW7cu9ejRgzZs2OC2Hme6QADuB5hCD4GdO3dqLVq00O66667Q65zJHpUsWRKuLbQFCxaYrBHZxULtnl67dk1r27atvEe4TwULFtRy5Mghz7Nly6Z98cUXXt+QjRs3apUqVdLbzJ8/vxYXFyfPs2bNqs2fP99pm71799br4NpiUqChPPoVExOjDR061Gk9TnSNALnO4pzMRGD06NHywWbmnpl3wdprh9o9fe655+QzVqRIEU3MmrUbN25oFy5c0EaNGqVlyZJFfn755RfTIFy5ckWrVq2abDM+Pl5vMz09XZs5c6YGRp8vXz5t27ZtNm1+/PHHsk5sbKw2btw4De2Azp8/r7300ksyjycJNpCZOmHmbgqm4BcKNUbgCwI8c7dFLZTu6bFjx7TcuXNLxvn999/bdlSc/fe//5V5HTt2dMhzlfDuu+/KOjlz5tRSU1Mdis2aNUvmV6xYUROiGz2/RIkSMh31nZGa1Tdq1MhZNqe5QIBl7mJK4AuJ2QiJGQglJyeTmPF41QTqiuUrHThwwKt6rgofP36cVq9eTbt37ybIUL2hv//+W8o0L1++bKra6dOnCTLjPXv2mCrvqZA/OIoZnuw7ZLzOCLigr2fPnnWW7ZB24sQJWrt2LZ06dcohz1OCtzh6ai/Q+XPmzCHgVqxYMWrXrp3D5fr06SPTfvzxR9P3GjJzkGDGJEQz8tj4BXl6+fLlKS0tjZYvXy6zUlJS6MiRI/K4Z8+exuL68YMPPiiPN23a5PV/TW8kGg9cMH1OdoHArl27tNatW2u5cuWSsw3xzMgZUNeuXTXxB3eoNWPGDA3LzX79+mmYLXXo0EGfMaGu+HNpkyZN0uudOXNGls+ePbtsH3JH1Ec5I+Fa3bt31woXLqz3A+1BZtqqVSttx44dxuLyWGyWybb27t2rffbZZ1qFChX0upBztmnTRjt06JBDPSQcPnxYE39OXQ6Ka2HGNXHiRO2nn36S7WJsRnI3c/cVR7HZp4mXos09wJjvvPNObf/+/fLyECVgrBAtoJ/4YPYnmLyxe/IYoogPP/xQynhVWfwKJqR98803DuWR4C2OZu+ps4uJl6n2r3/9y/Tn008/ddaMQ1qvXr0kLo8//rhDnkqoWrWqLPO///1PJbn9BWbAzl15PCMo8/zzz8u2Tp48qf3www/yeXTV+HfffSfr5M2bVxOTF1fFON0OARbL2AHi7hQbg3jA8HCWK1dOe+SRR7Ru3brpjEFoG2hCI8CmialTp8rykJ0LrQENTPS2226TjFS1hfbGjBkj60HOiI1UtSmFTS6cGxnnunXrNKGFINstW7asJjQKtAEDBkiGh80ntIe2xUzUpi+VK1eWeU8++aT8LVWqlGy3Ro0a8hz1wJAhdzUSZKB33HGHLAO5aefOneW4FfPGeFD37rvvNlaTbSHdfkPVHxxbtmypJSQkSMYttCk0Y9/Rj7lz58oXrxqbwhH9AJM00tWrV+V9QB5wQ//79++vCc0ReY50nNuTtziauaf211DneJGhH2Y/7du3V1Xd/gpNJtmmu41KYI3rDh482G1bKhOboCj/9ddfqySHX7FKkGXEbNwhz1WCWEXIOkL7xlURTneCADN3J6A4S8KsTzEzMFIhxtCLgRk+9NBD8gEEg8FsUJFi7njoMbPZsmWLypJtNGnSRNbDBpRxVuJOPnvvvffKOvfdd58GjQcjCTGEzMP13nnnHWOWppgS8l5++WUNzE0R5K5KOwGzcSNh1YE6tWvX1jDrVwRMwOiRh48Z5m4FjlitiOW86ob27bff6n1AP8CQ1aYcCv3nP/+R+ZjhG/F67733ZDpWRUKspbeHg8WLF0vtEbSHmaWRfMXR3T01tm88Bl5vvvmm6Q9WimZIrdqwmemKsFLD+DGJMUO4/yiPjVpnhP8FnnOUwerSDK1Zs0Z/Lt29NMy0FW1lmLmbvOOvvPKKfCjr1KljwyBU9UuXLmllypSRZaZPn66SNSNzd7ZxtWrVKlkHD7yQY+v1XDECLPEhFsBmGFTrnFGDBg1km5jxGEkxJeQbX0CqDMRN6AeW7Ir27dun90/Io1Wy/
<p>Using DendSer:</p>
<div class="sourceCode" id="cb123"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb123-1"><a href="#cb123-1" tabindex="-1"></a><span class="co"># x &lt;- dends_15_51 %&gt;% untangle(method = &quot;DendSer&quot;) </span></span>
<span id="cb123-2"><a href="#cb123-2" tabindex="-1"></a>x <span class="ot">&lt;-</span> dends_15_51 <span class="sc">%&gt;%</span> <span class="fu">untangle</span>(<span class="at">method =</span> <span class="st">&quot;ladderize&quot;</span>) </span>
<span id="cb123-3"><a href="#cb123-3" tabindex="-1"></a>x <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="fu">paste</span>(<span class="st">&quot;entanglement =&quot;</span>, <span class="fu">round</span>(<span class="fu">entanglement</span>(x), <span class="dv">2</span>)))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>One solution for improving the tanglegram would be to randomly search
the rotated tree space for a better solution. Here is how to use a
random search:</p>
<div class="sourceCode" id="cb124"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb124-1"><a href="#cb124-1" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">3958</span>)</span>
<span id="cb124-2"><a href="#cb124-2" tabindex="-1"></a>x <span class="ot">&lt;-</span> dends_15_51 <span class="sc">%&gt;%</span> <span class="fu">untangle</span>(<span class="at">method =</span> <span class="st">&quot;random&quot;</span>, <span class="at">R =</span> <span class="dv">10</span>) </span>
<span id="cb124-3"><a href="#cb124-3" tabindex="-1"></a>x <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="fu">paste</span>(<span class="st">&quot;entanglement =&quot;</span>, <span class="fu">round</span>(<span class="fu">entanglement</span>(x), <span class="dv">2</span>)))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>We can see we already got something better. An advantage of the
random search is the ability to create many many trees and compare them
to find the best pair.</p>
<p>Lets use a greedy forward step wise rotation of the two trees (first
the left, then the right, and so on), to see if we can find a better
solution for comparing the two trees. Notice that this may take some
time to run (the larger the tree, the longer it would take), but we can
limit the search for smaller ks, and see what improvement that can
bring us using step2side (slowest):</p>
<div class="sourceCode" id="cb125"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb125-1"><a href="#cb125-1" tabindex="-1"></a>x <span class="ot">&lt;-</span> dends_15_51 <span class="sc">%&gt;%</span> <span class="fu">untangle</span>(<span class="at">method =</span> <span class="st">&quot;step2side&quot;</span>) </span>
<span id="cb125-2"><a href="#cb125-2" tabindex="-1"></a>x <span class="sc">%&gt;%</span> <span class="fu">plot</span>(<span class="at">main =</span> <span class="fu">paste</span>(<span class="st">&quot;entanglement =&quot;</span>, <span class="fu">round</span>(<span class="fu">entanglement</span>(x), <span class="dv">2</span>)))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>We got perfect entanglement (0).</p>
</div>
<div id="correlation-measures" class="section level3">
<h3>Correlation measures</h3>
<p>We shall use the following for the upcoming examples:</p>
<div class="sourceCode" id="cb126"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb126-1"><a href="#cb126-1" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">23235</span>)</span>
<span id="cb126-2"><a href="#cb126-2" tabindex="-1"></a>ss <span class="ot">&lt;-</span> <span class="fu">sample</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">150</span>, <span class="dv">10</span> )</span>
<span id="cb126-3"><a href="#cb126-3" tabindex="-1"></a>dend1 <span class="ot">&lt;-</span> iris[ss,<span class="sc">-</span><span class="dv">5</span>] <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> <span class="fu">hclust</span>(<span class="st">&quot;com&quot;</span>) <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb126-4"><a href="#cb126-4" tabindex="-1"></a>dend2 <span class="ot">&lt;-</span> iris[ss,<span class="sc">-</span><span class="dv">5</span>] <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> <span class="fu">hclust</span>(<span class="st">&quot;single&quot;</span>) <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb126-5"><a href="#cb126-5" tabindex="-1"></a>dend3 <span class="ot">&lt;-</span> iris[ss,<span class="sc">-</span><span class="dv">5</span>] <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> <span class="fu">hclust</span>(<span class="st">&quot;ave&quot;</span>) <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb126-6"><a href="#cb126-6" tabindex="-1"></a>dend4 <span class="ot">&lt;-</span> iris[ss,<span class="sc">-</span><span class="dv">5</span>] <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> <span class="fu">hclust</span>(<span class="st">&quot;centroid&quot;</span>) <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb126-7"><a href="#cb126-7" tabindex="-1"></a></span>
<span id="cb126-8"><a href="#cb126-8" tabindex="-1"></a>dend1234 <span class="ot">&lt;-</span> <span class="fu">dendlist</span>(<span class="st">&quot;Complete&quot;</span> <span class="ot">=</span> dend1, <span class="st">&quot;Single&quot;</span> <span class="ot">=</span> dend2, <span class="st">&quot;Average&quot;</span> <span class="ot">=</span> dend3, <span class="st">&quot;Centroid&quot;</span> <span class="ot">=</span> dend4)</span>
<span id="cb126-9"><a href="#cb126-9" tabindex="-1"></a></span>
<span id="cb126-10"><a href="#cb126-10" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>))</span>
<span id="cb126-11"><a href="#cb126-11" tabindex="-1"></a><span class="fu">plot</span>(dend1, <span class="at">main =</span> <span class="st">&quot;Complete&quot;</span>)</span>
<span id="cb126-12"><a href="#cb126-12" tabindex="-1"></a><span class="fu">plot</span>(dend2, <span class="at">main =</span> <span class="st">&quot;Single&quot;</span>)</span>
<span id="cb126-13"><a href="#cb126-13" tabindex="-1"></a><span class="fu">plot</span>(dend3, <span class="at">main =</span> <span class="st">&quot;Average&quot;</span>)</span>
<span id="cb126-14"><a href="#cb126-14" tabindex="-1"></a><span class="fu">plot</span>(dend4, <span class="at">main =</span> <span class="st">&quot;Centroid&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div id="global-comparison-of-two-or-more-dendrograms" class="section level4">
<h4>Global Comparison of two (or more) dendrograms</h4>
<p>The <code>all.equal.dendrogram</code> function makes a global
comparison of two or more dendrograms trees.</p>
<div class="sourceCode" id="cb127"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb127-1"><a href="#cb127-1" tabindex="-1"></a><span class="fu">all.equal</span>(dend1, dend1)</span></code></pre></div>
<pre><code>#&gt; [1] TRUE</code></pre>
<div class="sourceCode" id="cb129"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb129-1"><a href="#cb129-1" tabindex="-1"></a><span class="fu">all.equal</span>(dend1, dend2)</span></code></pre></div>
<pre><code>#&gt; [1] &quot;Difference in branch heights - Mean relative difference: 0.4932164&quot;</code></pre>
<div class="sourceCode" id="cb131"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb131-1"><a href="#cb131-1" tabindex="-1"></a><span class="fu">all.equal</span>(dend1, dend2, <span class="at">use.edge.length =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<pre><code>#&gt; [1] &quot;Dendrograms contain diffreent edges (i.e.: topology). Unique edges in target: | 2, 7, 13 | Unique edges in current: 7, 9, 11&quot;</code></pre>
<div class="sourceCode" id="cb133"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb133-1"><a href="#cb133-1" tabindex="-1"></a><span class="fu">all.equal</span>(dend1, dend2, <span class="at">use.edge.length =</span> <span class="cn">FALSE</span>, <span class="at">use.topology =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<pre><code>#&gt; [1] TRUE</code></pre>
<div class="sourceCode" id="cb135"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb135-1"><a href="#cb135-1" tabindex="-1"></a><span class="fu">all.equal</span>(dend2, dend4, <span class="at">use.edge.length =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<pre><code>#&gt; [1] &quot;Difference in branch heights - Mean relative difference: 0.1969642&quot;</code></pre>
<div class="sourceCode" id="cb137"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb137-1"><a href="#cb137-1" tabindex="-1"></a><span class="fu">all.equal</span>(dend2, dend4, <span class="at">use.edge.length =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<pre><code>#&gt; [1] &quot;Dendrograms contain diffreent edges (i.e.: topology). Unique edges in target: | 11 | Unique edges in current: 13&quot;</code></pre>
<div class="sourceCode" id="cb139"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb139-1"><a href="#cb139-1" tabindex="-1"></a><span class="fu">all.equal</span>(<span class="fu">dendlist</span>(dend1, dend1, dend1))</span></code></pre></div>
<pre><code>#&gt; [1] TRUE</code></pre>
<div class="sourceCode" id="cb141"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb141-1"><a href="#cb141-1" tabindex="-1"></a><span class="fu">all.equal</span>(dend1234)</span></code></pre></div>
<pre><code>#&gt; 1==2
#&gt; &quot;Difference in branch heights - Mean relative difference: 0.4932164&quot;
#&gt; 1==3
#&gt; &quot;Difference in branch heights - Mean relative difference: 0.2767035&quot;
#&gt; 1==4
#&gt; &quot;Difference in branch heights - Mean relative difference: 0.4081231&quot;
#&gt; 2==3
#&gt; &quot;Difference in branch heights - Mean relative difference: 0.4545673&quot;
#&gt; 2==4
#&gt; &quot;Difference in branch heights - Mean relative difference: 0.1969642&quot;
#&gt; 3==4
#&gt; &quot;Difference in branch heights - Mean relative difference: 0.1970749&quot;</code></pre>
<div class="sourceCode" id="cb143"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb143-1"><a href="#cb143-1" tabindex="-1"></a><span class="fu">all.equal</span>(dend1234, <span class="at">use.edge.length =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<pre><code>#&gt; 1==2
#&gt; &quot;Dendrograms contain diffreent edges (i.e.: topology). Unique edges in target: | 2, 7, 13 | Unique edges in current: 7, 9, 11&quot;
#&gt; 1==3
#&gt; &quot;Dendrograms contain diffreent edges (i.e.: topology). Unique edges in target: | 7 | Unique edges in current: 7&quot;
#&gt; 1==4
#&gt; &quot;Dendrograms contain diffreent edges (i.e.: topology). Unique edges in target: | 2, 7 | Unique edges in current: 7, 9&quot;
#&gt; 2==3
#&gt; &quot;Dendrograms contain diffreent edges (i.e.: topology). Unique edges in target: | 9, 11 | Unique edges in current: 8, 15&quot;
#&gt; 2==4
#&gt; &quot;Dendrograms contain diffreent edges (i.e.: topology). Unique edges in target: | 11 | Unique edges in current: 13&quot;
#&gt; 3==4
#&gt; &quot;Dendrograms contain diffreent edges (i.e.: topology). Unique edges in target: | 15 | Unique edges in current: 9&quot;</code></pre>
</div>
<div id="distance-matrix-using-dist.dendlist" class="section level4">
<h4>Distance matrix using dist.dendlist</h4>
<p>The <code>dist.dendlist</code> function computes the Robinson-Foulds
distance (also known as symmetric difference) between two dendrograms.
This is the sum of edges in both trees with labels that exist in only
one of the two trees (i.e.: the length of
<code>distinct_edges</code>).</p>
<div class="sourceCode" id="cb145"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb145-1"><a href="#cb145-1" tabindex="-1"></a>x <span class="ot">&lt;-</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">5</span> <span class="sc">%&gt;%</span> dist <span class="sc">%&gt;%</span> hclust <span class="sc">%&gt;%</span> as.dendrogram</span>
<span id="cb145-2"><a href="#cb145-2" tabindex="-1"></a>y <span class="ot">&lt;-</span> <span class="fu">set</span>(x, <span class="st">&quot;labels&quot;</span>, <span class="dv">5</span><span class="sc">:</span><span class="dv">1</span>)</span>
<span id="cb145-3"><a href="#cb145-3" tabindex="-1"></a></span>
<span id="cb145-4"><a href="#cb145-4" tabindex="-1"></a><span class="fu">dist.dendlist</span>(<span class="fu">dendlist</span>(<span class="at">x1 =</span> x,<span class="at">x2 =</span> x,<span class="at">y1 =</span> y))</span></code></pre></div>
<pre><code>#&gt; x1 x2
#&gt; x2 0
#&gt; y1 4 4</code></pre>
<div class="sourceCode" id="cb147"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb147-1"><a href="#cb147-1" tabindex="-1"></a><span class="fu">dend_diff</span>(x,y)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb148"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb148-1"><a href="#cb148-1" tabindex="-1"></a><span class="fu">dist.dendlist</span>(dend1234)</span></code></pre></div>
<pre><code>#&gt; Complete Single Average
#&gt; Single 6
#&gt; Average 2 4
#&gt; Centroid 4 2 2</code></pre>
<p>This function might implement other topological distances in the
future.</p>
</div>
<div id="correlation-matrix-using-cor.dendlist" class="section level4">
<h4>Correlation matrix using cor.dendlist</h4>
<p>Both Bakers Gamma and cophenetic correlation (Which will be
introduced shortly), can be calculated to create a correlation matrix
using the <code>cor.dendlist</code> function (the default method is
cophenetic correlation):</p>
<div class="sourceCode" id="cb150"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb150-1"><a href="#cb150-1" tabindex="-1"></a><span class="fu">cor.dendlist</span>(dend1234)</span></code></pre></div>
<pre><code>#&gt; Complete Single Average Centroid
#&gt; Complete 1.0000000 0.4272001 0.5635291 0.4466374
#&gt; Single 0.4272001 1.0000000 0.9508998 0.9910913
#&gt; Average 0.5635291 0.9508998 1.0000000 0.9556376
#&gt; Centroid 0.4466374 0.9910913 0.9556376 1.0000000</code></pre>
<p>The corrplot library offers a nice visualization:</p>
<div class="sourceCode" id="cb152"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb152-1"><a href="#cb152-1" tabindex="-1"></a><span class="fu">library</span>(corrplot)</span>
<span id="cb152-2"><a href="#cb152-2" tabindex="-1"></a><span class="fu">corrplot</span>(<span class="fu">cor.dendlist</span>(dend1234), <span class="st">&quot;pie&quot;</span>, <span class="st">&quot;lower&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>Which easily tells us that single, average and centroid give similar
results, while complete is somewhat different.</p>
<div class="sourceCode" id="cb153"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb153-1"><a href="#cb153-1" tabindex="-1"></a><span class="co"># same subtrees, so there is no need to color the branches</span></span>
<span id="cb153-2"><a href="#cb153-2" tabindex="-1"></a>dend1234 <span class="sc">%&gt;%</span> <span class="fu">tanglegram</span>(<span class="at">which =</span> <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">3</span>)) </span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb154"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb154-1"><a href="#cb154-1" tabindex="-1"></a><span class="co"># Here the branches colors are very helpful:</span></span>
<span id="cb154-2"><a href="#cb154-2" tabindex="-1"></a>dend1234 <span class="sc">%&gt;%</span> <span class="fu">tanglegram</span>(<span class="at">which =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>), </span>
<span id="cb154-3"><a href="#cb154-3" tabindex="-1"></a> <span class="at">common_subtrees_color_branches =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
<div id="bakers-gamma-index" class="section level4">
<h4>Bakers Gamma Index</h4>
<p>Bakers Gamma Index (see bakers paper from 1974) is a measure of
association (similarity) between two trees of Hierarchical clustering
(dendrograms). It is defined as the rank correlation between the stages
at which pairs of objects combine in each of the two trees.</p>
<p>Or more detailed: It is calculated by taking two items, and see what
is the highest possible level of k (number of cluster groups created
when cutting the tree) for which the two item still belongs to the same
tree. That k is returned, and the same is done for these two items for
the second tree. There are n over 2 combinations of such pairs of items
from the items in the tree, and all of these numbers are calculated for
each of the two trees. Then, these two sets of numbers (a set for the
items in each tree) are paired according to the pairs of items compared,
and a Spearman correlation is calculated.</p>
<p>The value can range between -1 to 1. With near 0 values meaning that
the two trees are not statistically similar. For exact p-value one
should use a permutation test. One such option will be to permute over
the labels of one tree many times, calculating the distribution under
the null hypothesis (keeping the trees topologies constant).</p>
<p>Notice that this measure is not affected by the height of a branch
but only of its relative position compared with other branches.</p>
<div class="sourceCode" id="cb155"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb155-1"><a href="#cb155-1" tabindex="-1"></a><span class="fu">cor_bakers_gamma</span>(dend15, dend51)</span></code></pre></div>
<pre><code>#&gt; [1] 0.2751938</code></pre>
<p>Even that we can reach perfect entanglement, Bakers gamma shows us
that the trees topology is not identical. As opposed with the
correlation of a tree with itself:</p>
<div class="sourceCode" id="cb157"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb157-1"><a href="#cb157-1" tabindex="-1"></a><span class="fu">cor_bakers_gamma</span>(dend15, dend15)</span></code></pre></div>
<pre><code>#&gt; [1] 1</code></pre>
<p>Since the observations creating the Bakers Gamma Index of such a
measure are correlated, we need to perform a permutation test for the
calculation of the statistical significance of the index. Lets look at
the distribution of Bakers Gamma Index under the null hypothesis
(assuming fixed tree topologies). This will be different for different
tree structures and sizes. Here are the results when the compared tree
is itself (after shuffling its own labels), and when comparing tree 1 to
the shuffled tree 2:</p>
<div class="sourceCode" id="cb159"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb159-1"><a href="#cb159-1" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">23235</span>)</span>
<span id="cb159-2"><a href="#cb159-2" tabindex="-1"></a>the_cor <span class="ot">&lt;-</span> <span class="fu">cor_bakers_gamma</span>(dend15, dend15)</span>
<span id="cb159-3"><a href="#cb159-3" tabindex="-1"></a>the_cor2 <span class="ot">&lt;-</span> <span class="fu">cor_bakers_gamma</span>(dend15, dend51)</span>
<span id="cb159-4"><a href="#cb159-4" tabindex="-1"></a>the_cor</span></code></pre></div>
<pre><code>#&gt; [1] 1</code></pre>
<div class="sourceCode" id="cb161"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb161-1"><a href="#cb161-1" tabindex="-1"></a>the_cor2</span></code></pre></div>
<pre><code>#&gt; [1] 0.2751938</code></pre>
<div class="sourceCode" id="cb163"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb163-1"><a href="#cb163-1" tabindex="-1"></a>R <span class="ot">&lt;-</span> <span class="dv">100</span></span>
<span id="cb163-2"><a href="#cb163-2" tabindex="-1"></a>cor_bakers_gamma_results <span class="ot">&lt;-</span> <span class="fu">numeric</span>(R)</span>
<span id="cb163-3"><a href="#cb163-3" tabindex="-1"></a>dend_mixed <span class="ot">&lt;-</span> dend15</span>
<span id="cb163-4"><a href="#cb163-4" tabindex="-1"></a><span class="cf">for</span>(i <span class="cf">in</span> <span class="dv">1</span><span class="sc">:</span>R) {</span>
<span id="cb163-5"><a href="#cb163-5" tabindex="-1"></a> dend_mixed <span class="ot">&lt;-</span> <span class="fu">sample.dendrogram</span>(dend_mixed, <span class="at">replace =</span> <span class="cn">FALSE</span>)</span>
<span id="cb163-6"><a href="#cb163-6" tabindex="-1"></a> cor_bakers_gamma_results[i] <span class="ot">&lt;-</span> <span class="fu">cor_bakers_gamma</span>(dend15, dend_mixed)</span>
<span id="cb163-7"><a href="#cb163-7" tabindex="-1"></a>}</span>
<span id="cb163-8"><a href="#cb163-8" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">density</span>(cor_bakers_gamma_results),</span>
<span id="cb163-9"><a href="#cb163-9" tabindex="-1"></a> <span class="at">main =</span> <span class="st">&quot;Baker&#39;s gamma distribution under H0&quot;</span>,</span>
<span id="cb163-10"><a href="#cb163-10" tabindex="-1"></a> <span class="at">xlim =</span> <span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="dv">1</span>))</span>
<span id="cb163-11"><a href="#cb163-11" tabindex="-1"></a><span class="fu">abline</span>(<span class="at">v =</span> <span class="dv">0</span>, <span class="at">lty =</span> <span class="dv">2</span>)</span>
<span id="cb163-12"><a href="#cb163-12" tabindex="-1"></a><span class="fu">abline</span>(<span class="at">v =</span> the_cor, <span class="at">lty =</span> <span class="dv">2</span>, <span class="at">col =</span> <span class="dv">2</span>)</span>
<span id="cb163-13"><a href="#cb163-13" tabindex="-1"></a><span class="fu">abline</span>(<span class="at">v =</span> the_cor2, <span class="at">lty =</span> <span class="dv">2</span>, <span class="at">col =</span> <span class="dv">4</span>)</span>
<span id="cb163-14"><a href="#cb163-14" tabindex="-1"></a><span class="fu">legend</span>(<span class="st">&quot;topleft&quot;</span>, <span class="at">legend =</span> <span class="fu">c</span>(<span class="st">&quot;cor&quot;</span>, <span class="st">&quot;cor2&quot;</span>), <span class="at">fill =</span> <span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">4</span>))</span>
<span id="cb163-15"><a href="#cb163-15" tabindex="-1"></a><span class="fu">round</span>(<span class="fu">sum</span>(the_cor2 <span class="sc">&lt;</span> cor_bakers_gamma_results)<span class="sc">/</span> R, <span class="dv">4</span>)</span></code></pre></div>
<pre><code>#&gt; [1] 0.17</code></pre>
<div class="sourceCode" id="cb165"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb165-1"><a href="#cb165-1" tabindex="-1"></a><span class="fu">title</span>(<span class="at">sub =</span> <span class="fu">paste</span>(<span class="st">&quot;One sided p-value:&quot;</span>,</span>
<span id="cb165-2"><a href="#cb165-2" tabindex="-1"></a> <span class="st">&quot;cor =&quot;</span>, <span class="fu">round</span>(<span class="fu">sum</span>(the_cor <span class="sc">&lt;</span> cor_bakers_gamma_results)<span class="sc">/</span> R, <span class="dv">4</span>),</span>
<span id="cb165-3"><a href="#cb165-3" tabindex="-1"></a> <span class="st">&quot; ; cor2 =&quot;</span>, <span class="fu">round</span>(<span class="fu">sum</span>(the_cor2 <span class="sc">&lt;</span> cor_bakers_gamma_results)<span class="sc">/</span> R, <span class="dv">4</span>)</span>
<span id="cb165-4"><a href="#cb165-4" tabindex="-1"></a> ))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>We can see that we do not have enough evidence that dend15 and dend51
are significantly “similar” (i.e.: with a correlation larger than
0).</p>
<p>We can also build a bootstrap confidence interval, using
<code>sample.dendrogram</code>, for the correlation. This function can
be very slow for larger trees, so make sure you use if carefully:</p>
<div class="sourceCode" id="cb166"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb166-1"><a href="#cb166-1" tabindex="-1"></a>dend1 <span class="ot">&lt;-</span> dend15</span>
<span id="cb166-2"><a href="#cb166-2" tabindex="-1"></a>dend2 <span class="ot">&lt;-</span> dend51</span>
<span id="cb166-3"><a href="#cb166-3" tabindex="-1"></a></span>
<span id="cb166-4"><a href="#cb166-4" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">23801</span>)</span>
<span id="cb166-5"><a href="#cb166-5" tabindex="-1"></a></span>
<span id="cb166-6"><a href="#cb166-6" tabindex="-1"></a>R <span class="ot">&lt;-</span> <span class="dv">100</span></span>
<span id="cb166-7"><a href="#cb166-7" tabindex="-1"></a>dend1_labels <span class="ot">&lt;-</span> <span class="fu">labels</span>(dend1)</span>
<span id="cb166-8"><a href="#cb166-8" tabindex="-1"></a>dend2_labels <span class="ot">&lt;-</span> <span class="fu">labels</span>(dend2)</span>
<span id="cb166-9"><a href="#cb166-9" tabindex="-1"></a>cor_bakers_gamma_results <span class="ot">&lt;-</span> <span class="fu">numeric</span>(R)</span>
<span id="cb166-10"><a href="#cb166-10" tabindex="-1"></a><span class="cf">for</span>(i <span class="cf">in</span> <span class="dv">1</span><span class="sc">:</span>R) {</span>
<span id="cb166-11"><a href="#cb166-11" tabindex="-1"></a> sampled_labels <span class="ot">&lt;-</span> <span class="fu">sample</span>(dend1_labels, <span class="at">replace =</span> <span class="cn">TRUE</span>)</span>
<span id="cb166-12"><a href="#cb166-12" tabindex="-1"></a> <span class="co"># members needs to be fixed since it will be later used in nleaves</span></span>
<span id="cb166-13"><a href="#cb166-13" tabindex="-1"></a> dend_mixed1 <span class="ot">&lt;-</span> <span class="fu">sample.dendrogram</span>(dend1, </span>
<span id="cb166-14"><a href="#cb166-14" tabindex="-1"></a> <span class="at">dend_labels=</span>dend1_labels,</span>
<span id="cb166-15"><a href="#cb166-15" tabindex="-1"></a> <span class="at">fix_members=</span><span class="cn">TRUE</span>,<span class="at">fix_order=</span><span class="cn">TRUE</span>,<span class="at">fix_midpoint=</span><span class="cn">FALSE</span>,</span>
<span id="cb166-16"><a href="#cb166-16" tabindex="-1"></a> <span class="at">replace =</span> <span class="cn">TRUE</span>, <span class="at">sampled_labels=</span>sampled_labels</span>
<span id="cb166-17"><a href="#cb166-17" tabindex="-1"></a> )</span>
<span id="cb166-18"><a href="#cb166-18" tabindex="-1"></a> dend_mixed2 <span class="ot">&lt;-</span> <span class="fu">sample.dendrogram</span>(dend2, <span class="at">dend_labels=</span>dend2_labels,</span>
<span id="cb166-19"><a href="#cb166-19" tabindex="-1"></a> <span class="at">fix_members=</span><span class="cn">TRUE</span>,<span class="at">fix_order=</span><span class="cn">TRUE</span>,<span class="at">fix_midpoint=</span><span class="cn">FALSE</span>,</span>
<span id="cb166-20"><a href="#cb166-20" tabindex="-1"></a> <span class="at">replace =</span> <span class="cn">TRUE</span>, <span class="at">sampled_labels=</span>sampled_labels</span>
<span id="cb166-21"><a href="#cb166-21" tabindex="-1"></a> ) </span>
<span id="cb166-22"><a href="#cb166-22" tabindex="-1"></a> cor_bakers_gamma_results[i] <span class="ot">&lt;-</span> <span class="fu">cor_bakers_gamma</span>(dend_mixed1, dend_mixed2, <span class="at">warn =</span> <span class="cn">FALSE</span>)</span>
<span id="cb166-23"><a href="#cb166-23" tabindex="-1"></a>}</span>
<span id="cb166-24"><a href="#cb166-24" tabindex="-1"></a></span>
<span id="cb166-25"><a href="#cb166-25" tabindex="-1"></a></span>
<span id="cb166-26"><a href="#cb166-26" tabindex="-1"></a><span class="co"># here is the tanglegram</span></span>
<span id="cb166-27"><a href="#cb166-27" tabindex="-1"></a><span class="fu">tanglegram</span>(dend1, dend2)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb167"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb167-1"><a href="#cb167-1" tabindex="-1"></a><span class="co"># And here is the tanglegram for one sample of our trees:</span></span>
<span id="cb167-2"><a href="#cb167-2" tabindex="-1"></a>dend_mixed1 <span class="ot">&lt;-</span> <span class="fu">rank_order.dendrogram</span>(dend_mixed1)</span>
<span id="cb167-3"><a href="#cb167-3" tabindex="-1"></a>dend_mixed2 <span class="ot">&lt;-</span> <span class="fu">rank_order.dendrogram</span>(dend_mixed2)</span>
<span id="cb167-4"><a href="#cb167-4" tabindex="-1"></a>dend_mixed1 <span class="ot">&lt;-</span> <span class="fu">fix_members_attr.dendrogram</span>(dend_mixed1)</span>
<span id="cb167-5"><a href="#cb167-5" tabindex="-1"></a>dend_mixed2 <span class="ot">&lt;-</span> <span class="fu">fix_members_attr.dendrogram</span>(dend_mixed2)</span>
<span id="cb167-6"><a href="#cb167-6" tabindex="-1"></a><span class="fu">tanglegram</span>(dend_mixed1, dend_mixed2)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb168"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb168-1"><a href="#cb168-1" tabindex="-1"></a><span class="fu">cor_bakers_gamma</span>(dend_mixed1, dend_mixed2, <span class="at">warn =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<pre><code>#&gt; [1] 1</code></pre>
<div class="sourceCode" id="cb170"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb170-1"><a href="#cb170-1" tabindex="-1"></a>CI95 <span class="ot">&lt;-</span> <span class="fu">quantile</span>(cor_bakers_gamma_results, <span class="at">probs=</span><span class="fu">c</span>(.<span class="dv">025</span>,.<span class="dv">975</span>))</span>
<span id="cb170-2"><a href="#cb170-2" tabindex="-1"></a>CI95</span></code></pre></div>
<pre><code>#&gt; 2.5% 97.5%
#&gt; 0.2751938 1.0000000</code></pre>
<div class="sourceCode" id="cb172"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb172-1"><a href="#cb172-1" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>))</span>
<span id="cb172-2"><a href="#cb172-2" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">density</span>(cor_bakers_gamma_results),</span>
<span id="cb172-3"><a href="#cb172-3" tabindex="-1"></a> <span class="at">main =</span> <span class="st">&quot;Baker&#39;s gamma bootstrap distribution&quot;</span>,</span>
<span id="cb172-4"><a href="#cb172-4" tabindex="-1"></a> <span class="at">xlim =</span> <span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="dv">1</span>))</span>
<span id="cb172-5"><a href="#cb172-5" tabindex="-1"></a><span class="fu">abline</span>(<span class="at">v =</span> CI95, <span class="at">lty =</span> <span class="dv">2</span>, <span class="at">col =</span> <span class="dv">3</span>)</span>
<span id="cb172-6"><a href="#cb172-6" tabindex="-1"></a><span class="fu">abline</span>(<span class="at">v =</span> <span class="fu">cor_bakers_gamma</span>(dend1, dend2), <span class="at">lty =</span> <span class="dv">2</span>, <span class="at">col =</span> <span class="dv">2</span>)</span>
<span id="cb172-7"><a href="#cb172-7" tabindex="-1"></a><span class="fu">legend</span>(<span class="st">&quot;topleft&quot;</span>, <span class="at">legend =</span><span class="fu">c</span>(<span class="st">&quot;95% CI&quot;</span>, <span class="st">&quot;Baker&#39;s Gamma Index&quot;</span>), <span class="at">fill =</span> <span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">2</span>))</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<p>The bootstrap sampling can do weird things with small trees. In this
case we had many times that the two trees got perfect correlation. The
usage and interpretation should be done carefully!</p>
</div>
<div id="cophenetic-correlation" class="section level4">
<h4>Cophenetic correlation</h4>
<p>The cophenetic distance between two observations that have been
clustered is defined to be the inter-group dissimilarity at which the
two observations are first combined into a single cluster. This distance
has many ties and restrictions. The cophenetic correlation (see sokal
1962) is the correlation between two cophenetic distance matrices of two
trees.</p>
<p>The value can range between -1 to 1. With near 0 values meaning that
the two trees are not statistically similar. For exact p-value one
should result to a permutation test. One such option will be to permute
over the labels of one tree many times, and calculating the distribution
under the null hypothesis (keeping the trees topologies constant).</p>
<div class="sourceCode" id="cb173"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb173-1"><a href="#cb173-1" tabindex="-1"></a><span class="fu">cor_cophenetic</span>(dend15, dend51)</span></code></pre></div>
<pre><code>#&gt; [1] 0.3125</code></pre>
<p>The function <code>cor_cophenetic</code> is faster than
<code>cor_bakers_gamma</code>, and might be preferred for that
reason.</p>
</div>
</div>
<div id="the-fowlkes-mallows-index-and-the-bk-plot" class="section level3">
<h3>The Fowlkes-Mallows Index and the Bk plot</h3>
<div id="the-fowlkes-mallows-index" class="section level4">
<h4>The Fowlkes-Mallows Index</h4>
<p>The Fowlkes-Mallows Index (see fowlkes 1983) (FM Index, or Bk) is a
measure of similarity between two clusterings. The FM index ranges from
0 to 1, a higher value indicates a greater similarity between the two
clusters.</p>
<p>The dendextend package allows the calculation of FM-Index, its
expectancy and variance under the null hypothesis, and a creation of
permutations of the FM-Index under H0. Thanks to the profdpm package, we
have another example of calculating the FM (though it does not offer the
expectancy and variance under H0):</p>
<div class="sourceCode" id="cb175"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb175-1"><a href="#cb175-1" tabindex="-1"></a>hc1 <span class="ot">&lt;-</span> <span class="fu">hclust</span>(<span class="fu">dist</span>(iris[,<span class="sc">-</span><span class="dv">5</span>]), <span class="st">&quot;com&quot;</span>)</span>
<span id="cb175-2"><a href="#cb175-2" tabindex="-1"></a>hc2 <span class="ot">&lt;-</span> <span class="fu">hclust</span>(<span class="fu">dist</span>(iris[,<span class="sc">-</span><span class="dv">5</span>]), <span class="st">&quot;single&quot;</span>)</span>
<span id="cb175-3"><a href="#cb175-3" tabindex="-1"></a></span>
<span id="cb175-4"><a href="#cb175-4" tabindex="-1"></a><span class="co"># FM index of a cluster with himself is 1:</span></span>
<span id="cb175-5"><a href="#cb175-5" tabindex="-1"></a><span class="fu">FM_index</span>(<span class="fu">cutree</span>(hc1, <span class="at">k=</span><span class="dv">3</span>), <span class="fu">cutree</span>(hc1, <span class="at">k=</span><span class="dv">3</span>))</span></code></pre></div>
<pre><code>#&gt; [1] 1
#&gt; attr(,&quot;E_FM&quot;)
#&gt; [1] 0.37217
#&gt; attr(,&quot;V_FM&quot;)
#&gt; [1] 5.985372e-05</code></pre>
<div class="sourceCode" id="cb177"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb177-1"><a href="#cb177-1" tabindex="-1"></a><span class="co"># FM index of two clusterings:</span></span>
<span id="cb177-2"><a href="#cb177-2" tabindex="-1"></a><span class="fu">FM_index</span>(<span class="fu">cutree</span>(hc1, <span class="at">k=</span><span class="dv">3</span>), <span class="fu">cutree</span>(hc2, <span class="at">k=</span><span class="dv">3</span>)) </span></code></pre></div>
<pre><code>#&gt; [1] 0.8059522
#&gt; attr(,&quot;E_FM&quot;)
#&gt; [1] 0.4462325
#&gt; attr(,&quot;V_FM&quot;)
#&gt; [1] 6.464092e-05</code></pre>
<div class="sourceCode" id="cb179"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb179-1"><a href="#cb179-1" tabindex="-1"></a><span class="co"># we got a value far above the expected under H0</span></span>
<span id="cb179-2"><a href="#cb179-2" tabindex="-1"></a> </span>
<span id="cb179-3"><a href="#cb179-3" tabindex="-1"></a><span class="co"># Using the R code:</span></span>
<span id="cb179-4"><a href="#cb179-4" tabindex="-1"></a><span class="fu">FM_index_R</span>(<span class="fu">cutree</span>(hc1, <span class="at">k=</span><span class="dv">3</span>), <span class="fu">cutree</span>(hc2, <span class="at">k=</span><span class="dv">3</span>))</span></code></pre></div>
<pre><code>#&gt; [1] 0.8059522
#&gt; attr(,&quot;E_FM&quot;)
#&gt; [1] 0.4462325
#&gt; attr(,&quot;V_FM&quot;)
#&gt; [1] 6.464092e-05</code></pre>
<p>The E_FM and V_FM are the values expected under the null hypothesis
that the two trees have the same topology but one is a random shuffle of
the labels of the other (i.e.: “no connection” between the trees).</p>
<p>So for the values:</p>
<div class="sourceCode" id="cb181"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb181-1"><a href="#cb181-1" tabindex="-1"></a><span class="fu">FM_index</span>(<span class="fu">cutree</span>(hc1, <span class="at">k=</span><span class="dv">3</span>), <span class="fu">cutree</span>(hc2, <span class="at">k=</span><span class="dv">3</span>)) </span></code></pre></div>
<pre><code>#&gt; [1] 0.8059522
#&gt; attr(,&quot;E_FM&quot;)
#&gt; [1] 0.4462325
#&gt; attr(,&quot;V_FM&quot;)
#&gt; [1] 6.464092e-05</code></pre>
<p>We can take (under a normal asymptotic distribution)</p>
<div class="sourceCode" id="cb183"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb183-1"><a href="#cb183-1" tabindex="-1"></a><span class="fl">0.4462</span> <span class="sc">+</span> <span class="fl">1.645</span> <span class="sc">*</span> <span class="fu">sqrt</span>(<span class="fl">6.464092e-05</span>)</span></code></pre></div>
<pre><code>#&gt; [1] 0.4594257</code></pre>
<p>And since 0.8059 (our value) &gt; 0.4594 (the critical value under
H0, with alpha=5% for a one sided test) - then we can say that we
significantly reject the hypothesis that the two trees are
“not-similar”.</p>
</div>
<div id="the-bk-plot" class="section level4">
<h4>The Bk plot</h4>
<p>In the Bk method we calculate the FM Index (Bk) for each k
(k=2,3,…,n-1) number of clusters, giving the association between the two
trees when each is cut to have k groups. The similarity between two
hierarchical clustering dendrograms, can be investigated, using the
(k,Bk) plot: For every level of splitting of the two dendrograms which
produces k clusters in each tree, the plot shows the number Bk, and
therefore enables the investigation of potential nuances in the
structure of similarity. The Bk measures the number of pairs of items
which are in the same cluster in both dendrograms, one of the clusters
in one of the trees and one of the clusters in the other tree, divided
by the geometric mean of the number of pairs of items which are in the
same cluster in each tree. Namely, <span class="math inline">\({a_{uv}}
= 1\left( {or{\rm{ }}{{\rm{b}}_{uv}} = 1} \right)\)</span> if the items
u and v are in the same cluster in the first tree (second tree), when it
is cut so to give k clusters, and otherwise 0:</p>
<p><span class="math display">\[{FM_k} = {B_k} =
\frac{{\sum\limits_{}^{} {{a_{uv}}{b_{uv}}} }}{{\sqrt {\sum\limits_{}^{}
{{a_{uv}}} \sum\limits_{}^{} {{b_{uv}}} } }}\]</span></p>
<p>The Bk measure can be plotted for every value of k (except k=n) in
order to create the “(k,Bk) plot”. The plot compares the similarity of
the two trees for different cuts. The mean and variance of Bk, under the
null hypothesis (that the two trees are not “similar”), and under the
assumption that the margins of the matching matrix are fixed, are given
in Fowlkes and Mallows (see fowlkes 1983). They allow making inference
on whether the results obtained are different from what would have been
expected under the null hypothesis (of now particular order of the
trees labels).</p>
<p>The <code>Bk</code> and the <code>Bk_plot</code> functions allow the
calculation of the FM-Index for a range of k values on two trees. Here
are examples:</p>
<div class="sourceCode" id="cb185"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb185-1"><a href="#cb185-1" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">23235</span>)</span>
<span id="cb185-2"><a href="#cb185-2" tabindex="-1"></a>ss <span class="ot">&lt;-</span> <span class="cn">TRUE</span> <span class="co"># sample(1:150, 30 ) # TRUE #</span></span>
<span id="cb185-3"><a href="#cb185-3" tabindex="-1"></a>hc1 <span class="ot">&lt;-</span> <span class="fu">hclust</span>(<span class="fu">dist</span>(iris[ss,<span class="sc">-</span><span class="dv">5</span>]), <span class="st">&quot;com&quot;</span>)</span>
<span id="cb185-4"><a href="#cb185-4" tabindex="-1"></a>hc2 <span class="ot">&lt;-</span> <span class="fu">hclust</span>(<span class="fu">dist</span>(iris[ss,<span class="sc">-</span><span class="dv">5</span>]), <span class="st">&quot;single&quot;</span>)</span>
<span id="cb185-5"><a href="#cb185-5" tabindex="-1"></a>dend1 <span class="ot">&lt;-</span> <span class="fu">as.dendrogram</span>(hc1)</span>
<span id="cb185-6"><a href="#cb185-6" tabindex="-1"></a>dend2 <span class="ot">&lt;-</span> <span class="fu">as.dendrogram</span>(hc2)</span>
<span id="cb185-7"><a href="#cb185-7" tabindex="-1"></a><span class="co"># cutree(tree1) </span></span>
<span id="cb185-8"><a href="#cb185-8" tabindex="-1"></a></span>
<span id="cb185-9"><a href="#cb185-9" tabindex="-1"></a><span class="co"># It works the same for hclust and dendrograms:</span></span>
<span id="cb185-10"><a href="#cb185-10" tabindex="-1"></a><span class="fu">Bk</span>(hc1, hc2, <span class="at">k =</span> <span class="dv">3</span>)</span></code></pre></div>
<pre><code>#&gt; $`3`
#&gt; [1] 0.8059522
#&gt; attr(,&quot;E_FM&quot;)
#&gt; [1] 0.4462325
#&gt; attr(,&quot;V_FM&quot;)
#&gt; [1] 6.464092e-05</code></pre>
<div class="sourceCode" id="cb187"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb187-1"><a href="#cb187-1" tabindex="-1"></a><span class="fu">Bk</span>(dend1, dend2, <span class="at">k =</span> <span class="dv">3</span>)</span></code></pre></div>
<pre><code>#&gt; $`3`
#&gt; [1] 0.8059522
#&gt; attr(,&quot;E_FM&quot;)
#&gt; [1] 0.4462325
#&gt; attr(,&quot;V_FM&quot;)
#&gt; [1] 6.464092e-05</code></pre>
<p>The Bk plot:</p>
<div class="sourceCode" id="cb189"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb189-1"><a href="#cb189-1" tabindex="-1"></a><span class="fu">Bk_plot</span>(hc1, hc2, <span class="at">main =</span> <span class="st">&quot;WRONG Bk plot </span><span class="sc">\n</span><span class="st">(due to the way cutree works with ties in hclust)&quot;</span>, <span class="at">warn =</span> <span class="cn">FALSE</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
<div class="sourceCode" id="cb190"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb190-1"><a href="#cb190-1" tabindex="-1"></a><span class="fu">Bk_plot</span>(dend1, dend2, <span class="at">main =</span> <span class="st">&quot;CORRECT Bk plot </span><span class="sc">\n</span><span class="st">(based on dendrograms)&quot;</span>)</span></code></pre></div>
<p><img role="img" src="data:image/png;base64,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
</div>
</div>
</div>
<div id="session-info" class="section level1">
<h1>Session info</h1>
<div class="sourceCode" id="cb191"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb191-1"><a href="#cb191-1" tabindex="-1"></a><span class="fu">sessionInfo</span>()</span></code></pre></div>
<pre><code>#&gt; R version 4.4.1 (2024-06-14)
#&gt; Platform: x86_64-apple-darwin20
#&gt; Running under: macOS Big Sur 11.7.10
#&gt;
#&gt; Matrix products: default
#&gt; BLAS: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib
#&gt; LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
#&gt;
#&gt; locale:
#&gt; [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#&gt;
#&gt; time zone: America/New_York
#&gt; tzcode source: internal
#&gt;
#&gt; attached base packages:
#&gt; [1] stats graphics grDevices utils datasets methods base
#&gt;
#&gt; other attached packages:
#&gt; [1] corrplot_0.94 pvclust_2.2-0 dynamicTreeCut_1.63-1
#&gt; [4] gplots_3.1.3.1 DendSer_1.0.2 seriation_1.5.6
#&gt; [7] gclus_1.3.2 cluster_2.1.6 viridis_0.6.5
#&gt; [10] viridisLite_0.4.2 ggplot2_3.5.1 circlize_0.4.16
#&gt; [13] colorspace_2.1-1 knitr_1.48 dendextend_1.19.0
#&gt;
#&gt; loaded via a namespace (and not attached):
#&gt; [1] sass_0.4.9 utf8_1.2.4 generics_0.1.3
#&gt; [4] bitops_1.0-8 KernSmooth_2.23-24 shape_1.4.6.1
#&gt; [7] gtools_3.9.5 digest_0.6.37 magrittr_2.0.3
#&gt; [10] caTools_1.18.2 evaluate_0.24.0 grid_4.4.1
#&gt; [13] iterators_1.0.14 fastmap_1.2.0 foreach_1.5.2
#&gt; [16] jsonlite_1.8.8 GlobalOptions_0.1.2 gridExtra_2.3
#&gt; [19] fansi_1.0.6 scales_1.3.0 codetools_0.2-20
#&gt; [22] jquerylib_0.1.4 registry_0.5-1 cli_3.6.3
#&gt; [25] rlang_1.1.4 munsell_0.5.1 withr_3.0.1
#&gt; [28] cachem_1.1.0 yaml_2.3.10 tools_4.4.1
#&gt; [31] dplyr_1.1.4 ca_0.71.1 TSP_1.2-4
#&gt; [34] vctrs_0.6.5 R6_2.5.1 lifecycle_1.0.4
#&gt; [37] MASS_7.3-60.2 pkgconfig_2.0.3 pillar_1.9.0
#&gt; [40] bslib_0.8.0 gtable_0.3.5 glue_1.7.0
#&gt; [43] xfun_0.47 tibble_3.2.1 tidyselect_1.2.1
#&gt; [46] highr_0.11 rstudioapi_0.16.0 farver_2.1.2
#&gt; [49] htmltools_0.5.8.1 rmarkdown_2.28 labeling_0.4.3
#&gt; [52] compiler_4.4.1</code></pre>
</div>
<!-- code folding -->
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
</body>
</html>