<!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.0"><title>Time normalize trajectories. — mt_time_normalize • mousetrap</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" 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="Time normalize trajectories. — mt_time_normalize"><meta property="og:description" content="Compute time-normalized trajectories using a constant number of equally sized
time steps. Time normalization is performed separately for all specified
trajectory dimensions (by default, the x- and y-positions) using linear
interpolation based on the timestamps. By default, 101 time steps are used
(following Spivey et al., 2005)."><!-- 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">mousetrap</a>
        <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">3.2.3</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav"><li>
  <a href="../reference/mousetrap-package.html">Overview</a>
</li>
<li>
  <a href="../reference/index.html">Reference</a>
</li>
<li>
  <a href="../news/index.html">News</a>
</li>
      </ul><ul class="nav navbar-nav navbar-right"><li>
  <a href="https://github.com/pascalkieslich/mousetrap" class="external-link">
    <span class="fa 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>Time normalize trajectories.</h1>
    <small class="dont-index">Source: <a href="https://github.com/pascalkieslich/mousetrap/blob/HEAD/R/preprocess.R" class="external-link"><code>R/preprocess.R</code></a></small>
    <div class="hidden name"><code>mt_time_normalize.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>Compute time-normalized trajectories using a constant number of equally sized
time steps. Time normalization is performed separately for all specified
trajectory dimensions (by default, the x- and y-positions) using linear
interpolation based on the timestamps. By default, 101 time steps are used
(following Spivey et al., 2005).</p>
    </div>

    <div id="ref-usage">
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">mt_time_normalize</span><span class="op">(</span></span>
<span>  <span class="va">data</span>,</span>
<span>  use <span class="op">=</span> <span class="st">"trajectories"</span>,</span>
<span>  save_as <span class="op">=</span> <span class="st">"tn_trajectories"</span>,</span>
<span>  dimensions <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"xpos"</span>, <span class="st">"ypos"</span><span class="op">)</span>,</span>
<span>  timestamps <span class="op">=</span> <span class="st">"timestamps"</span>,</span>
<span>  nsteps <span class="op">=</span> <span class="fl">101</span>,</span>
<span>  verbose <span class="op">=</span> <span class="cn">FALSE</span></span>
<span><span class="op">)</span></span></code></pre></div>
    </div>

    <div id="arguments">
    <h2>Arguments</h2>
    <dl><dt>data</dt>
<dd><p>a mousetrap data object created using one of the mt_import
functions (see <a href="mt_example.html">mt_example</a> for details). Alternatively, a trajectory
array can be provided directly (in this case <code>use</code> will be ignored).</p></dd>


<dt>use</dt>
<dd><p>a character string specifying which trajectory data should be
used.</p></dd>


<dt>save_as</dt>
<dd><p>a character string specifying where the resulting trajectory
data should be stored.</p></dd>


<dt>dimensions</dt>
<dd><p>a character vector specifying the dimensions in the
trajectory array that should be time-normalized. If <code>"all"</code>, all
trajectory dimensions except the timestamps will be time-normalized.</p></dd>


<dt>timestamps</dt>
<dd><p>a character string specifying the trajectory dimension
containing the timestamps.</p></dd>


<dt>nsteps</dt>
<dd><p>an integer specifying the number of equally sized time steps.</p></dd>


<dt>verbose</dt>
<dd><p>logical indicating whether function should report its
progress.</p></dd>

</dl></div>
    <div id="value">
    <h2>Value</h2>
    

<p>A mousetrap data object (see <a href="mt_example.html">mt_example</a>) with an additional
array (by default called <code>tn_trajectories</code>) containing the
time-normalized trajectories. In this array, another dimension (called
<code>steps</code>) has been added with increasing integer values indexing the
time-normalized position. If a trajectory array was provided directly as
<code>data</code>, only the time-normalized trajectories will be returned.</p>
    </div>
    <div id="details">
    <h2>Details</h2>
    <p>Time-normalization is often performed if the number of recorded x- and
y-positions varies across trajectories, which typically occurs when
trajectories vary in their response time. After time-normalization, all
trajectories have the same number of recorded positions (which is specified
using <code>nsteps</code>) and the positions at different relative time points can
be compared across trajectories.</p>
<p>For example, time normalized trajectories can be compared across conditions
that differed in their overall response time, as the timestamps are now
relative to the overall trial duration. This is also helpful for creating
average trajectories, which are often used in plots.</p>
    </div>
    <div id="references">
    <h2>References</h2>
    <p>Spivey, M. J., Grosjean, M., &amp; Knoblich, G. (2005). Continuous
attraction toward phonological competitors. <em>Proceedings of the
National Academy of Sciences of the United States of America, 102</em>(29),
10393-10398.</p>
    </div>
    <div id="see-also">
    <h2>See also</h2>
    <div class="dont-index"><p><a href="https://rdrr.io/r/stats/approxfun.html" class="external-link">approx</a> for information about the function used for
linear interpolation.</p>
<p><a href="mt_resample.html">mt_resample</a> for resampling trajectories using a constant time
interval.</p></div>
    </div>
    <div id="author">
    <h2>Author</h2>
    <p>Pascal J. Kieslich</p>
<p>Felix Henninger</p>
    </div>

    <div id="ref-examples">
    <h2>Examples</h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="va">mt_example</span> <span class="op">&lt;-</span> <span class="fu">mt_time_normalize</span><span class="op">(</span><span class="va">mt_example</span>,</span></span>
<span class="r-in"><span>  save_as<span class="op">=</span><span class="st">"tn_trajectories"</span>, nsteps<span class="op">=</span><span class="fl">101</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
</code></pre></div>
    </div>
  </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></p><p>Developed by Pascal J. Kieslich, Dirk U. Wulff, Felix Henninger, Jonas M. B. Haslbeck.</p>
</div>

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

      </footer></div>

  


  

  </body></html>

