EVOLUTION-MANAGER
Edit File: xts-internals.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>R: Internal Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="R.css" /> </head><body> <table width="100%" summary="page for xtsInternals {xts}"><tr><td>xtsInternals {xts}</td><td style="text-align: right;">R Documentation</td></tr></table> <h2> Internal Documentation </h2> <h3>Description</h3> <p>This help file is to help in development of xts, as well as provide some clarity and insight into its purpose and implementation. </p> <p>Last modified: 2008-08-06 by Jeffrey A. Ryan Version: 0.5-0 and above </p> <p>The <span class="pkg">xts</span> package xts designed as a drop-in replacement for the very popular <span class="pkg">zoo</span> package. Most all functionality of zoo has been extended or carries into the xts package. </p> <p>Notable changes in direction include the use of time-based indexing, at first explicitely, now implicitely. </p> <p>An <code>xts</code> object consists of data in the form of a matrix, an index - ordered and increasing, either numeric or integer, and additional attributes for use internally, or for end-user purposes. </p> <p>The current implementation enforces two major rules on the object. One is that the index must be coercible to numeric, by way of <code>as.POSIXct</code>. There are defined types that meet this criteria. See <code>timeBased</code> for details. </p> <p>The second requirement is that the object cannot have rownames. The motivation from this comes in part from the work Matthew Doyle has done in his data.table class, in the package of the same name. Rownames in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> must be character vectors, and as such are inefficient in both storage and conversion. By eliminating the rownames, and providing a numeric index of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> internal type <code>REAL</code> or <code>INTEGER</code>, it is possible to maintain a connection to standard <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> date and time classes via the POSIXct functions, while at at the same time maximizing efficiencies in data handling. </p> <p>User level functions <code>index</code>, as well as conversion to other classes proceeds as if there were rownames. The code for <code>index</code> automatically converts time to numeric in both extraction and replacement functionality. This provides a level of abstraction to facilitate internal, and external package use and inter-operability. </p> <p>There is also new work on providing a C-level API to some of the xts functionality to facilitate external package developers to utilize the fast utility routines such as subsetting and merges, without having to call only from <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>. Obviously this places far more burden on the developer to not only understand the internal xts implementation, but also to understand all of what is documented for R-internals (and much that isn't). At present the functions and macros available can be found in the ‘xts.h’ file in the src directory. </p> <p>There is no current documentation for this API. The adventure starts here. Future documentation is planned, not implemented. </p> <h3>Author(s)</h3> <p> Jeffrey A. Ryan </p> <hr /><div style="text-align: center;">[Package <em>xts</em> version 0.12.2 <a href="00Index.html">Index</a>]</div> </body></html>