<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Visualize Patterns in NA occurrences — ggplot_na_pattern • imputeTS</title>

<!-- favicons -->
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png" />
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png" />

<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/flatly/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" />


<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script>

<!-- bootstrap-toc -->
<link rel="stylesheet" href="../bootstrap-toc.css">
<script src="../bootstrap-toc.js"></script>

<!-- Font Awesome icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous" />

<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script>

<!-- headroom.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script>

<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>




<meta property="og:title" content="Visualize Patterns in NA occurrences — ggplot_na_pattern" />
<meta property="og:description" content="Visualize Patterns in NA occurrences. E.g. weakly, ...,.." />
<meta property="og:image" content="https://SteffenMoritz.github.io/imputeTS/logo.png" />




<!-- mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>

<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->



  </head>

  <body data-spy="scroll" data-target="#toc">
    <div class="container template-reference-topic">
      <header>
      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand">
        <a class="navbar-link" href="../index.html">imputeTS</a>
        <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">3.3</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li>
  <a href="../index.html">
    <span class="fas fa-home fa-lg"></span>
     
  </a>
</li>
<li>
  <a href="../reference/index.html">Reference</a>
</li>
<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
    Articles
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu">
    <li>
      <a href="../articles/gallery_visualizations.html">Gallery: Times Series Missing Data Visualizations</a>
    </li>
  </ul>
</li>
<li>
  <a href="../news/index.html">Changelog</a>
</li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li>
  <a href="https://github.com/SteffenMoritz/imputeTS/">
    <span class="fab fa-github fa-lg"></span>
     
  </a>
</li>
      </ul>
      
    </div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header>

<div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>Visualize Patterns in NA occurrences</h1>
    <small class="dont-index">Source: <a href='https://github.com/SteffenMoritz/imputeTS/blob/master/R/ggplot_na_pattern.R'><code>R/ggplot_na_pattern.R</code></a></small>
    <div class="hidden name"><code>ggplot_na_pattern.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>Visualize Patterns in NA occurrences. E.g. weakly, ...,..</p>
    </div>

    <pre class="usage"><span class='fu'>ggplot_na_pattern</span><span class='op'>(</span>
  <span class='va'>x</span>,
  limit <span class='op'>=</span> <span class='fl'>10</span>,
  include_total <span class='op'>=</span> <span class='cn'>TRUE</span>,
  ranked_by <span class='op'>=</span> <span class='st'>"occurrence"</span>,
  color_occurrence <span class='op'>=</span> <span class='st'>"indianred"</span>,
  color_total <span class='op'>=</span> <span class='st'>"steelblue"</span>,
  title <span class='op'>=</span> <span class='st'>"Occurrence of gap sizes"</span>,
  subtitle <span class='op'>=</span> <span class='st'>"Gap sizes (NAs in a row) ordered by most common"</span>,
  xlab <span class='op'>=</span> <span class='cn'>NULL</span>,
  ylab <span class='op'>=</span> <span class='st'>"Number occurrence"</span>,
  legend <span class='op'>=</span> <span class='cn'>TRUE</span>,
  orientation <span class='op'>=</span> <span class='st'>"horizontal"</span>,
  label_occurrence <span class='op'>=</span> <span class='st'>"Number occurrence gapsize"</span>,
  label_total <span class='op'>=</span> <span class='st'>"Resulting NAs for gapsize"</span>,
  theme <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/ggtheme.html'>theme_linedraw</a></span><span class='op'>(</span><span class='op'>)</span>
<span class='op'>)</span></pre>

    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2>
    <table class="ref-arguments">
    <colgroup><col class="name" /><col class="desc" /></colgroup>
    <tr>
      <th>x</th>
      <td><p>Numeric Vector (<code><a href='https://rdrr.io/r/base/vector.html'>vector</a></code>) or Time Series
(<code><a href='https://rdrr.io/r/stats/ts.html'>ts</a></code>) object containing NAs. This is the only mandatory
parameter - all other parameters are only needed for adjusting the plot appearance.</p></td>
    </tr>
    <tr>
      <th>limit</th>
      <td><p>Specifies how many of the most common gap sizes are shown in
the plot.Default is 10. So only the 10 most often occurring gapsizes will
be shown. If more or all present gap sizes should be displayed, the limit needs
to be increased. Since this might add a lot of additional data, having
parameter  <code>orientation</code> set to 'horizontal' avoids overlaps in the axis
labels.</p></td>
    </tr>
    <tr>
      <th>include_total</th>
      <td><p>When set to TRUE the total NA count for a gapsize is
included in the plot (total = number occurrence x gap size).
E.g. if a gapsize of 3 occurs 10 times, this means this gap size makes
up for 30 NAs in total. This can be a good indicator of the
overall impact of a gapsize.</p></td>
    </tr>
    <tr>
      <th>ranked_by</th>
      <td><p>Should the results be sorted according to the number of
occurrence or total resulting NAs for a gapsize. Total resulting NAs
are calculated by (total = number occurrence x gap size).</p><ul>
<li><p>"occurrence" - Sorting by 'number of occurrence' of a gap size</p></li>
<li><p>"total" - Sorting by 'total resulting NAs' of a gap size</p></li>
</ul>

<p>The default setting is "occurrence".</p></td>
    </tr>
    <tr>
      <th>color_occurrence</th>
      <td><p>Defines the Color for the Bars of
'number of occurrence'.</p></td>
    </tr>
    <tr>
      <th>color_total</th>
      <td><p>Defines the color for the bars of
'total resulting NAs'.</p></td>
    </tr>
    <tr>
      <th>title</th>
      <td><p>Title of the Plot.</p></td>
    </tr>
    <tr>
      <th>subtitle</th>
      <td><p>Subtitle of the Plot.</p></td>
    </tr>
    <tr>
      <th>xlab</th>
      <td><p>Label for x-Axis.</p></td>
    </tr>
    <tr>
      <th>ylab</th>
      <td><p>Label for y-Axis.</p></td>
    </tr>
    <tr>
      <th>legend</th>
      <td><p>If TRUE a legend is added at the bottom.</p></td>
    </tr>
    <tr>
      <th>orientation</th>
      <td><p>Can be either 'vertical' or 'horizontal'. Defines
if the bars are plotted vertically or horizontally. For large amounts
of different gap sizes horizontal illustration is favorable (also see
parameter <code>limit</code>).</p></td>
    </tr>
    <tr>
      <th>label_occurrence</th>
      <td><p>Defines the label assigned to 'number of occurrence'
in the legend.</p></td>
    </tr>
    <tr>
      <th>label_total</th>
      <td><p>Defines the label assigned to 'total resulting NAs'
in the legend.</p></td>
    </tr>
    <tr>
      <th>theme</th>
      <td><p>Set a Theme for ggplot2. Default is ggplot2::theme_linedraw().
(<code><a href='https://ggplot2.tidyverse.org/reference/ggtheme.html'>theme_linedraw</a>)</code></p></td>
    </tr>
    </table>

    <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>

    <p>The output is a <code><a href='https://ggplot2.tidyverse.org/reference/ggplot2-package.html'>ggplot2</a></code> object that can be
further adjusted by using the ggplot syntax</p>
    <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>

    <p>This plotting function can be used to visualize the length of
the NA gaps (NAs in a row) in a time series. It shows a ranking of which
gap sizes occur most often. This ranking can be ordered by the number
occurrence of the gap sizes or by total resulting NAs for this gap size
(occurrence * gap length). A NA-gap of 3 occuring 10 times means 30 total
resulting NAs.</p>
<p>A resulting plot can for example be described like this:
a 2 NA-gap (2 NAs in a row) occurred  27 times,
a 9 NA-gap (9 NAs in a row) occurred  11 times,
a 27 NA-gap (27 NAs in a row) occurred  1 times, ...</p>
<p>The only really needed parameter for this function is x (the univariate
time series with NAs that shall be visualized). All other parameters
are solely for altering the appearance of the plot.</p>
<p>As long as the input is univariate and numeric the function also takes
data.frame, tibble, tsibble, zoo, xts as an input.</p>
<p>The plot can be adjusted to your needs via the function parameters.
Additionally for more complex adjustments, the output can also be
adjusted via ggplot2 syntax. This is possible, since the output
of the function is a ggplot2 object. Also take a look at the Examples
to see how adjustments are made.</p>
    <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2>

    <div class='dont-index'><p><code><a href='ggplot_na_distribution.html'>ggplot_na_distribution</a></code>,
<code><a href='ggplot_na_distribution2.html'>ggplot_na_distribution2</a></code>,
<code><a href='ggplot_na_imputations.html'>ggplot_na_imputations</a></code></p></div>
    <h2 class="hasAnchor" id="author"><a class="anchor" href="#author"></a>Author</h2>

    <p>Steffen Moritz, Sebastian Gatscha</p>

    <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
    <pre class="examples"><div class='input'><span class='co'># Example 1: Visualize the top gap sizes in tsNH4 (top 10 by default)</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsNH4</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-1.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 2: Visualize the top gap sizes in tsAirgap - horizontal bars</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsAirgap</span>, orientation <span class='op'>=</span> <span class='st'>"vertical"</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-2.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 3: Same as example 1, just written with pipe operator</span>
<span class='va'>tsNH4</span> <span class='op'>%&gt;%</span> <span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-3.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 4: Visualize the top 20 gap sizes in tsNH4</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsNH4</span>, limit <span class='op'>=</span> <span class='fl'>20</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-4.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 5: Visualize top gap sizes in tsNH4 without showing total NAs</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsNH4</span>, limit <span class='op'>=</span> <span class='fl'>20</span>, include_total <span class='op'>=</span> <span class='cn'>FALSE</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-5.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 6: Visualize top gap sizes in tsNH4 but ordered by total NAs</span>
<span class='co'># (total = occurrence * gap length)</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsNH4</span>, limit <span class='op'>=</span> <span class='fl'>20</span>, ranked_by <span class='op'>=</span> <span class='st'>"total"</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-6.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 7: Visualize top gap sizes in tsNH4 - different theme</span>
<span class='co'># Plot adjustments via ggplot_na_gapsize function parameters</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsNH4</span>, theme <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/ggtheme.html'>theme_classic</a></span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-7.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 8: Visualize top gap sizes in tsNH4 - title, subtitle in center</span>
<span class='co'># Plot adjustments via ggplot2 syntax</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsNH4</span><span class='op'>)</span> <span class='op'>+</span>
  <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/theme.html'>theme</a></span><span class='op'>(</span>plot.title <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/element.html'>element_text</a></span><span class='op'>(</span>hjust <span class='op'>=</span> <span class='fl'>0.5</span><span class='op'>)</span><span class='op'>)</span> <span class='op'>+</span>
  <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/theme.html'>theme</a></span><span class='op'>(</span>plot.subtitle <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/element.html'>element_text</a></span><span class='op'>(</span>hjust <span class='op'>=</span> <span class='fl'>0.5</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-8.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 9: Visualize top gap sizes in tsNH4 - title in center, no subtitle</span>
<span class='co'># Plot adjustments via ggplot2 syntax and function parameters</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsNH4</span>, subtitle <span class='op'>=</span> <span class='cn'>NULL</span><span class='op'>)</span> <span class='op'>+</span>
  <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/theme.html'>theme</a></span><span class='op'>(</span>plot.title <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/element.html'>element_text</a></span><span class='op'>(</span>hjust <span class='op'>=</span> <span class='fl'>0.5</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-9.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 10: Top gap sizes in tsNH4 - legend on the right and color change</span>
<span class='co'># Plot adjustments via ggplot2 syntax and function parameters</span>
<span class='fu'><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></span><span class='op'>(</span><span class='va'>tsNH4</span>, color_total <span class='op'>=</span> <span class='st'>"grey"</span><span class='op'>)</span> <span class='op'>+</span>
  <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/theme.html'>theme</a></span><span class='op'>(</span>legend.position <span class='op'>=</span> <span class='st'>"right"</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_pattern-10.png' alt='' width='700' height='433' /></div></pre>
  </div>
  <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
    <nav id="toc" data-toggle="toc" class="sticky-top">
      <h2 data-toc-skip>Contents</h2>
    </nav>
  </div>
</div>


      <footer>
      <div class="copyright">
  <p>Developed by Steffen Moritz, Sebastian Gatscha.</p>
</div>

<div class="pkgdown">
  <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
</div>

      </footer>
   </div>

  


  </body>
</html>


