436 lines
298 KiB
HTML
436 lines
298 KiB
HTML
|
<!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="date" content="2014-09-02" />
|
|||
|
|
|||
|
<title>An introduction to the gapmap package</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 { 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">An introduction to the gapmap package</h1>
|
|||
|
<h4 class="date">2 September 2014</h4>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<p>This document explains basic functions of the <code>gapmap</code>
|
|||
|
package to draw a gapped cluster heatmap. The plot is generated using
|
|||
|
the <code>ggplot2</code> package. Let’s load the library first.</p>
|
|||
|
<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a><span class="fu">library</span>(gapmap)</span></code></pre></div>
|
|||
|
<p>We will simulate a simple dataset.</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><span class="fu">set.seed</span>(<span class="dv">1234</span>)</span>
|
|||
|
<span id="cb2-2"><a href="#cb2-2" tabindex="-1"></a>x <span class="ot"><-</span> <span class="fu">rnorm</span>(<span class="dv">10</span>, <span class="at">mean=</span><span class="fu">rep</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>, <span class="at">each=</span><span class="dv">2</span>), <span class="at">sd=</span><span class="fl">0.4</span>)</span>
|
|||
|
<span id="cb2-3"><a href="#cb2-3" tabindex="-1"></a>y <span class="ot"><-</span> <span class="fu">rnorm</span>(<span class="dv">10</span>, <span class="at">mean=</span><span class="fu">rep</span>(<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>), <span class="at">each=</span><span class="dv">5</span>), <span class="at">sd=</span><span class="fl">0.4</span>)</span>
|
|||
|
<span id="cb2-4"><a href="#cb2-4" tabindex="-1"></a>dataFrame <span class="ot"><-</span> <span class="fu">data.frame</span>(<span class="at">x=</span>x, <span class="at">y=</span>y, <span class="at">row.names=</span><span class="fu">c</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">10</span>))</span>
|
|||
|
<span id="cb2-5"><a href="#cb2-5" tabindex="-1"></a><span class="co">#calculate distance matrix. default is Euclidean distance</span></span>
|
|||
|
<span id="cb2-6"><a href="#cb2-6" tabindex="-1"></a>distxy <span class="ot"><-</span> <span class="fu">dist</span>(dataFrame)</span>
|
|||
|
<span id="cb2-7"><a href="#cb2-7" tabindex="-1"></a><span class="co">#perform hierarchical clustering. default is complete linkage.</span></span>
|
|||
|
<span id="cb2-8"><a href="#cb2-8" tabindex="-1"></a>hc <span class="ot"><-</span> <span class="fu">hclust</span>(distxy)</span>
|
|||
|
<span id="cb2-9"><a href="#cb2-9" tabindex="-1"></a>dend <span class="ot"><-</span> <span class="fu">as.dendrogram</span>(hc)</span></code></pre></div>
|
|||
|
<p>To make a gapped cluster heatmap, you need to pass a
|
|||
|
<code>matrix</code> object for heatmap, and <code>dendrogram</code>
|
|||
|
class objects for drawing dendrograms and ordering.</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>grey_scale <span class="ot">=</span><span class="fu">c</span>(<span class="st">"#333333"</span>, <span class="st">"#5C5C5C"</span>, <span class="st">"#757575"</span>, <span class="st">"#8A8A8A"</span>, <span class="st">"#9B9B9B"</span>, <span class="st">"#AAAAAA"</span>, <span class="st">"#B8B8B8"</span>, <span class="st">"#C5C5C5"</span>, <span class="st">"#D0D0D0"</span>, <span class="st">"#DBDBDB"</span>, <span class="st">"#E6E6E6"</span>)</span>
|
|||
|
<span id="cb3-2"><a href="#cb3-2" tabindex="-1"></a><span class="fu">gapmap</span>(<span class="at">m =</span> <span class="fu">as.matrix</span>(distxy), <span class="at">d_row=</span> <span class="fu">rev</span>(dend), <span class="at">d_col=</span>dend, <span class="at">col =</span> grey_scale)</span></code></pre></div>
|
|||
|
<pre><code>## Warning: The `panel.margin` argument of `theme()` is deprecated as of ggplot2 2.2.0.
|
|||
|
## ℹ Please use the `panel.spacing` argument instead.
|
|||
|
## ℹ The deprecated feature was likely used in the gapmap package.
|
|||
|
## Please report the issue at
|
|||
|
## <https://github.com/evanbiederstedt/gapmap/issues>.
|
|||
|
## This warning is displayed once every 8 hours.
|
|||
|
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
|
|||
|
## generated.</code></pre>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
<p>The default of <code>gapmap</code> function is in the
|
|||
|
<strong>quantitative</strong> mode and uses <strong>exponential</strong>
|
|||
|
mapping. First, you can choose either modes:
|
|||
|
<strong>quantitative</strong> or <strong>threshold</strong>.</p>
|
|||
|
<ul>
|
|||
|
<li><strong>quantitative</strong>: the size of gap is quantitatively
|
|||
|
mapped to the distance/height at which two nodes merges in hierarchical
|
|||
|
clustering. For mapping the distance, you have 2 options:
|
|||
|
<strong>linear</strong> or <strong>exponential</strong> mapping.
|
|||
|
<ul>
|
|||
|
<li><strong>linear</strong>: The distance and the size of a gap is
|
|||
|
linearly mapped.</li>
|
|||
|
<li><strong>exponential</strong>: The distance and the size of a gap is
|
|||
|
linearly mapped. The scale log base can be set with
|
|||
|
<strong>scale</strong> attribute. The default scale is set to 0.5.</li>
|
|||
|
</ul></li>
|
|||
|
<li><strong>threshold</strong>: the gaps are introduced based on the
|
|||
|
“cutting the tree” method. By setting <strong>threshold</strong>
|
|||
|
attributes, or alternatively <strong>row_threshold</strong> and
|
|||
|
<strong>col_threshold</strong>, you can divide into clusters and
|
|||
|
introduce the gaps between clusters.</li>
|
|||
|
</ul>
|
|||
|
<p>The following example uses the linear mapping. This mapping generate
|
|||
|
more gaps, whereas the previous example of exponential mapping emphasize
|
|||
|
on the large gaps.</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="fu">gapmap</span>(<span class="at">m =</span> <span class="fu">as.matrix</span>(distxy), <span class="at">d_row=</span> <span class="fu">rev</span>(dend), <span class="at">d_col=</span>dend, <span class="at">mode =</span> <span class="st">"quantitative"</span>, <span class="at">mapping=</span><span class="st">"linear"</span>, <span class="at">col =</span> grey_scale)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
<p>The following example illustrate the difference of two mapping
|
|||
|
schemes. For the exponential mapping, the scale log base is set to 0.5.
|
|||
|
<img src="data:image/png;base64,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
|
|||
|
<p>The variation of scale log base settings is illustrated in the
|
|||
|
following plot. The value of scale is annotated on the plot. <img src="data:image/png;base64,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
|
|||
|
<p>Besides the <strong>quantitative</strong> mode, there is
|
|||
|
<strong>linear</strong> mode to introduce gap by a threshold. In the
|
|||
|
following example, the dendrograms for rows and columns are cut at the
|
|||
|
threshold distance of 2 and gaps of the same size are introduced between
|
|||
|
clusters.</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><span class="fu">gapmap</span>(<span class="at">m =</span> <span class="fu">as.matrix</span>(distxy), <span class="at">d_row=</span> <span class="fu">rev</span>(dend), <span class="at">d_col=</span>dend, <span class="at">mode =</span> <span class="st">"threshold"</span>, <span class="at">row_threshold =</span> <span class="dv">2</span>, <span class="at">col_threshold =</span> <span class="dv">2</span>, <span class="at">col =</span> grey_scale)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
<p>In addition, this package works well with our dendrogram sorting
|
|||
|
package, called <code>dendsort</code>. For the details on dendsort,
|
|||
|
please check our <a href="https://f1000research.com/articles/3-177/v1">paper</a>.</p>
|
|||
|
<div class="sourceCode" id="cb7"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb7-1"><a href="#cb7-1" tabindex="-1"></a><span class="fu">library</span>(dendsort);</span>
|
|||
|
<span id="cb7-2"><a href="#cb7-2" tabindex="-1"></a><span class="fu">gapmap</span>(<span class="at">m =</span> <span class="fu">as.matrix</span>(distxy), <span class="at">d_row=</span> <span class="fu">rev</span>(<span class="fu">dendsort</span>(dend)), <span class="at">d_col=</span><span class="fu">dendsort</span>(dend), <span class="at">mode =</span> <span class="st">"quantitative"</span>, <span class="at">col =</span> grey_scale)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<!-- 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>
|