[R] embed?

Wacek Kusnierczyk Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Fri Apr 3 17:40:01 CEST 2009


rkevinburton at charter.net wrote:
> I have a question on the function 'embed'. I ran the example
>
> x <- 1:10
> embed(x, dimension=3)
>
> This gives the output:
>
>      [,1] [,2] [,3]
> [1,]    3    2    1
> [2,]    4    3    2
> [3,]    5    4    3
> [4,]    6    5    4
> [5,]    7    6    5
> [6,]    8    7    6
> [7,]    9    8    7
> [8,]   10    9    8
>
> I don't quite understand the output and why it is useful. First, there are only 8 rows down from 10 and the first element starts with 3. Of course I can think of explanations as to what is occuring but I cannot see how this is useful. I am sure it has application as i see this command used in much of the source but I just cannot see it now.
>   

> The documentation states:
>
> Each row of the resulting matrix consists of sequences x[t], x[t-1], ..., x[t-dimension+1], where t is the original index of x. If x is a matrix, i.e., x contains more than one variable, then x[t] consists of the tth observation on each variable. 
>
> This explanation doesn't seem to account for the dimension argument.
>   

following this 'explanation', the first row consists of values x[t],
x[t-1], ... x[t-3+1], that is, x[t], x[t-1], x[t-2].  how does t, the
original index of x, relate to positions in the matrix?  does it
correspond to the row number, or the column number?  it can't be the
former, because then the first row would include x[1], x[0], x[-1] --
nonsense.  it can't be the latter, because the first row would include
x[1], x[1], x[1] (nonsense), and so all other rows (nonsense).

for a vector, say x, the output, say matrix, contains values calculated
as follows:

    m[i,j] = x[i + dimension - j], with i = 1, ...,
length(x)-dimension+1 and j = 1, ..., dimension

so that you have a rolling window over the vector, with row indices
corresponding to the start of the window, and column indices
corresponding to the position within the window.

arguably, the authors could have done their homework better.

vQ




More information about the R-help mailing list