visualizeR/articles/bar_charts.html

141 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Bar charts • visualizeR</title>
<!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="../favicon-96x96.png">
<link rel="icon" type="”image/svg+xml”" href="../favicon.svg">
<link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png">
<link rel="icon" sizes="any" href="../favicon.ico">
<link rel="manifest" href="../site.webmanifest">
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
<script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
<link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
<script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><meta property="og:title" content="Bar charts">
</head>
<body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar navbar-expand-lg fixed-top bg-light" data-bs-theme="light" aria-label="Site navigation"><div class="container">
<a class="navbar-brand me-2" href="../index.html">visualizeR</a>
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">1.0</small>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse ms-3">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="active nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
<ul class="dropdown-menu" aria-labelledby="dropdown-articles">
<li><a class="dropdown-item" href="../articles/bar_charts.html">Bar charts</a></li>
</ul>
</li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
</ul>
<ul class="navbar-nav">
<li class="nav-item"><form class="form-inline" role="search">
<input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json">
</form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/gnoblet/visualizeR/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
</ul>
</div>
</div>
</nav><div class="container template-article">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.png" class="logo" alt=""><h1>Bar charts</h1>
<small class="dont-index">Source: <a href="https://github.com/gnoblet/visualizeR/blob/main/vignettes/bar_charts.Rmd" class="external-link"><code>vignettes/bar_charts.Rmd</code></a></small>
<div class="d-none name"><code>bar_charts.Rmd</code></div>
</div>
<p>Lets start by importing some data and running some data
wrangling:</p>
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://gesistsa.github.io/rio/" class="external-link">rio</a></span><span class="op">)</span></span>
<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://r-datatable.com" class="external-link">data.table</a></span><span class="op">)</span></span>
<span><span class="va">dat</span> <span class="op">&lt;-</span> <span class="fu"><a href="http://gesistsa.github.io/rio/reference/import.html" class="external-link">import</a></span><span class="op">(</span><span class="st">"https://raw.githubusercontent.com/holtzy/data_to_viz/master/Example_dataset/11_SevCatOneNumNestedOneObsPerGroup.csv"</span>, data.table <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span>
<span><span class="fu"><a href="https://rdatatable.gitlab.io/data.table/reference/setDT.html" class="external-link">setDT</a></span><span class="op">(</span><span class="va">dat</span><span class="op">)</span></span>
<span></span>
<span><span class="co"># in all character columns, tranform empty string to NA</span></span>
<span><span class="va">vars_chr</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/r/base/colnames.html" class="external-link">colnames</a></span><span class="op">(</span><span class="va">dat</span><span class="op">)</span><span class="op">[</span><span class="fu"><a href="https://rdrr.io/r/base/lapply.html" class="external-link">sapply</a></span><span class="op">(</span><span class="va">dat</span>, <span class="va">is.character</span><span class="op">)</span><span class="op">]</span></span>
<span><span class="va">dat</span><span class="op">[</span>, <span class="op">(</span><span class="va">vars_chr</span><span class="op">)</span> <span class="op">:=</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html" class="external-link">lapply</a></span><span class="op">(</span><span class="va">.SD</span>, <span class="kw">function</span><span class="op">(</span><span class="va">x</span><span class="op">)</span> <span class="fu"><a href="https://rdatatable.gitlab.io/data.table/reference/fifelse.html" class="external-link">fifelse</a></span><span class="op">(</span><span class="va">x</span> <span class="op">==</span> <span class="st">""</span>, <span class="cn">NA_character_</span>, <span class="va">x</span><span class="op">)</span><span class="op">)</span>, .SDcols <span class="op">=</span> <span class="va">vars_chr</span><span class="op">]</span></span>
<span></span>
<span><span class="co"># in value, if -1 replace with NA</span></span>
<span><span class="va">dat</span><span class="op">[</span>, <span class="va">value</span> <span class="op">:=</span> <span class="fu"><a href="https://rdatatable.gitlab.io/data.table/reference/fifelse.html" class="external-link">fifelse</a></span><span class="op">(</span><span class="va">value</span> <span class="op">==</span> <span class="op">-</span><span class="fl">1</span>, <span class="cn">NA_real_</span>, <span class="va">value</span><span class="op">)</span><span class="op">]</span></span>
<span></span>
<span><span class="co"># remove lines where value is NA (in place)</span></span>
<span><span class="va">dat</span> <span class="op">&lt;-</span> <span class="va">dat</span><span class="op">[</span><span class="op">!</span><span class="fu"><a href="https://rdrr.io/r/base/NA.html" class="external-link">is.na</a></span><span class="op">(</span><span class="va">value</span><span class="op">)</span>, <span class="op">]</span></span>
<span></span>
<span><span class="co"># kepp only top 20 values and divide data to get million units</span></span>
<span><span class="va">df</span> <span class="op">&lt;-</span> <span class="va">dat</span><span class="op">[</span></span>
<span> <span class="op">!</span><span class="fu"><a href="https://rdrr.io/r/base/NA.html" class="external-link">is.na</a></span><span class="op">(</span><span class="va">value</span><span class="op">)</span>, <span class="op">]</span><span class="op">[</span></span>
<span> <span class="fu"><a href="https://rdrr.io/r/base/order.html" class="external-link">order</a></span><span class="op">(</span><span class="va">value</span>, decreasing <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span>, <span class="op">]</span><span class="op">[</span></span>
<span> <span class="fl">1</span><span class="op">:</span><span class="fl">20</span>, <span class="op">]</span><span class="op">[</span></span>
<span> , <span class="va">value</span> <span class="op">:=</span> <span class="va">value</span><span class="op">/</span><span class="fl">1000000</span>, <span class="op">]</span><span class="op">[</span></span>
<span> , <span class="va">key</span> <span class="op">:=</span> <span class="fu"><a href="https://rdrr.io/r/base/ifelse.html" class="external-link">ifelse</a></span><span class="op">(</span><span class="va">key</span> <span class="op">==</span> <span class="st">"Democratic Republic of the Congo"</span>, <span class="st">"DRC"</span>, <span class="va">key</span><span class="op">)</span><span class="op">]</span></span></code></pre></div>
<p>Now, lets see the defaults for a horizontal bar diagram without any
grouping and ordering values from highest to smallest:</p>
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/gnoblet/visualizeR" class="external-link">visualizeR</a></span><span class="op">)</span></span>
<span><span class="co">#&gt; </span></span>
<span><span class="co">#&gt; Attaching package: 'visualizeR'</span></span>
<span><span class="co">#&gt; The following object is masked from 'package:data.table':</span></span>
<span><span class="co">#&gt; </span></span>
<span><span class="co">#&gt; %notin%</span></span>
<span><span class="co">#&gt; The following object is masked from 'package:grDevices':</span></span>
<span><span class="co">#&gt; </span></span>
<span><span class="co">#&gt; palette</span></span>
<span></span>
<span><span class="fu"><a href="../reference/bar.html">hbar</a></span><span class="op">(</span></span>
<span> <span class="va">df</span>,</span>
<span> x <span class="op">=</span> <span class="st">"key"</span>,</span>
<span> y <span class="op">=</span> <span class="st">"value"</span>,</span>
<span> facet <span class="op">=</span> <span class="st">"region"</span>,</span>
<span> order <span class="op">=</span> <span class="st">"y"</span>,</span>
<span> title <span class="op">=</span> <span class="st">"Top 20 countries by population (in Million)"</span></span>
<span><span class="op">)</span></span></code></pre></div>
<p><img src="bar_charts_files/figure-html/hbar-1.png" width="700"></p>
<p>Moving on to a vertical bar chart, with country facets and groups</p>
</main>
</div>
<footer><div class="pkgdown-footer-left">
<p>Developed by Noblet Guillaume.</p>
</div>
<div class="pkgdown-footer-right">
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.1.3.</p>
</div>
</footer>
</div>
</body>
</html>