TStoX  R Documentation 
Input a time series and transform it to a form suitable for prediction
using lm
etc.
TStoX(x,lg) TStoXmv(xmat,lg,y)
x 
A vector. 
lg 
Lag, a positive integer. 
xmat 
A matrix, data frame etc., a multivariate time series. Each column is a time series, over a common time period. 
y 
A time series, again on that common time period. If NULL in

Similar to stats::embed
, but in lagged form, with applications
such as lm
in mind.
TStoX
is for transforming vectors, while TStoXmv
handles the multivariate time series case. Intended for use with
lm
or other regression/machine learning model, predicting
y[i]
from observations ilg, ilg+1,...,i1
.
As noted, the idea is to set up something like lm(Y ~ X)
.
Let m
denote length of x
, and in the matrix input
case, the number of rows in xmat
. Let p
be 1 in the
vector case, ncol(xmat)
in the matrix case. The return value
is a matrix with mlg
rows. There will be p*lg+1
columns, with "Y," the numbers to be predicted in the last column.
In the output in the multivariate case, let k denote
ncol(xmat)
. Then the first k columns of the output will be
the k series at lag lg
, the second k columns will be the k
series at lag lg1
, ..., and the lg
th set of k
columns will be the k series at lag 1,
Norm Matloff
x1 < c(5,12,13,8,88,6) x2 < c(5,4,3,18,168,0) y < 1:6 xmat < cbind(x1,x2) TStoX(x1,2) # [,1] [,2] [,3] # [1,] 5 12 13 # [2,] 12 13 8 # [3,] 13 8 88 # [4,] 8 88 6 xy < TStoXmv(xmat,2,y) xy # [,1] [,2] [,3] [,4] [,5] # [1,] 5 5 12 4 3 # [2,] 12 4 13 3 4 # [3,] 13 3 8 18 5 # [4,] 8 18 88 168 6 lm(xy[,5] ~ xy[,5]) # Coefficients: # (Intercept) xy[, 5]1 xy[, 5]2 xy[, 5]3 xy[, 5]4 # 65.6 3.2 18.2 3.2 NA # need n > 7 here for useful lm() call, but this illustrates the idea
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.