[R] what does .indexDate() do - R::xts

Joshua Ulrich josh.m.ulrich at gmail.com
Wed Jun 13 04:58:39 CEST 2012


On Tue, Jun 12, 2012 at 9:48 PM, Matthew Johnson <mcooganj at gmail.com> wrote:
> Dear R experts,
>
> I am learning the very useful XTS package, but cannot figure out the
> purpose of some commands.
>
> in particular, the .indexDate() command does not work as expected.
>
> say:
>
> x <- timeBasedSeq('2010-01-01/2010-01-02 12:00')
> x <- xts(1:length(x), x)
>
> then i can subset on date as follows:
>
> x['2010-01-01']
>
> however the .indexDate() command does not work as expected; in
> particular the following does not return anything.
>
> x[.indexDate(x) == '2010-01-01']
>
That's because all comparisons are FALSE.  .indexDate() returns the
index of x, converted to the numeric representation of the Date class
(i.e. as.Date(.indexDate(x), origin="1970-01-01") will be the Date of
the index values).  '2010-01-01' is a character string.

>
> I am sure i am missing something - what is .indexDate() supposed to do?
>
Though it's not well documented, what it's doing is pretty clear from
the source:
R> .indexDate
function (x)
{
    .index(x)%/%86400L
}
<environment: namespace:xts>

>
> thanks and best regards
>
>
> matt johnson
>

Best,
--
Joshua Ulrich  |  FOSS Trading: www.fosstrading.com



More information about the R-help mailing list