Re: [R] Understanding TS objects

2018-03-13 Thread Jeff Newmiller
Perhaps mydata is a matrix or matrix-like object, and you should create one ts 
object for each column?
-- 
Sent from my phone. Please excuse my brevity.

On March 13, 2018 7:25:31 AM PDT, JEFFERY REICHMAN  
wrote:
>R Help Community
>
>I'm trying to understand time series (TS) objects.  Thought I
>understood but recently have run into a series of error messages that
>I'm not sure how to handle.  I have 15 years of quarterly data and I
>typically create a TS object via something like...
>
>data.ts <- ts(mydata, start = 2002, frequency = 4)
>
>this create a matric as opposed to a vector object as I receive a
>univariate error when I try to decompose the data using the STL
>function
>
>data.stl <- stl(data.ts, "periodic")
>Error in stl(data.ts, "periodic") : only univariate series are allowed
>
>ok so
>
>is.vector(data.ts)
>[1] FALSE
>
>so to convert to a vector I'll use
>data.ts <- as.vector(data.ts)
>
>but then I lose the frequency as the periods as the data becomes
>frequency = 1
>data.ts <- stl <- stl(data.ts, "periodic")
>Error in stl(data.ts, "periodic") :
>   series is not periodic or has less than two periods.
>
>So am I missing a  parameter or is there a more general/proper way to
>create a time series object? First time I've run into this problem .  I
>can always decompose  via an alternative methods so there are work
>arounds.  But just trying to understand what I'm not doing
>programmatically at this point.
>
>Jeff Reichman
>
>__
>R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Understanding TS objects

2018-03-13 Thread Achim Zeileis

On Tue, 13 Mar 2018, JEFFERY REICHMAN wrote:


R Help Community

I'm trying to understand time series (TS) objects.  Thought I understood 
but recently have run into a series of error messages that I'm not sure 
how to handle.  I have 15 years of quarterly data and I typically create 
a TS object via something like...


data.ts <- ts(mydata, start = 2002, frequency = 4)

this create a matric as opposed to a vector object


This depends on what "mydata" is which you haven't shown...

If "mydata" is a univariate vector, everything works ok:

mydata <- rnorm(15 * 4)
data.ts <- ts(mydata, start = 2002, frequency = 4)
data.stl <- stl(data.ts, "periodic")

However, if "mydata" is a matrix, e.g., a 3-column matrix in the example 
below:


mydata <- matrix(rnorm(15 * 4 * 3), ncol = 3)

then the error occurs.

Furthermore, the same problem will occur if mydata is 1-column matrix or a 
1-column data frame.


as I receive a univariate error when I try to decompose the data using 
the STL function


data.stl <- stl(data.ts, "periodic")
Error in stl(data.ts, "periodic") : only univariate series are allowed

ok so

is.vector(data.ts)
[1] FALSE


This is always FALSE for a "ts" object, even if it is univariate, because 
it has further attributes, namely the time-series properties (tsp).



so to convert to a vector I'll use
data.ts <- as.vector(data.ts)


This will drop the "ts" class.

The cleanest way is probably to create a vector "mydata" and then the 
univariate "data.ts".


hth,
Z


but then I lose the frequency as the periods as the data becomes frequency = 1
data.ts <- stl <- stl(data.ts, "periodic")
Error in stl(data.ts, "periodic") :
  series is not periodic or has less than two periods.

So am I missing a  parameter or is there a more general/proper way to create a 
time series object? First time I've run into this problem .  I can always 
decompose  via an alternative methods so there are work arounds.  But just 
trying to understand what I'm not doing programmatically at this point.

Jeff Reichman

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


[R] Understanding TS objects

2018-03-13 Thread JEFFERY REICHMAN
R Help Community

I'm trying to understand time series (TS) objects.  Thought I understood but 
recently have run into a series of error messages that I'm not sure how to 
handle.  I have 15 years of quarterly data and I typically create a TS object 
via something like...

data.ts <- ts(mydata, start = 2002, frequency = 4)

this create a matric as opposed to a vector object as I receive a univariate 
error when I try to decompose the data using the STL function

data.stl <- stl(data.ts, "periodic")
Error in stl(data.ts, "periodic") : only univariate series are allowed

ok so

is.vector(data.ts)
[1] FALSE

so to convert to a vector I'll use
data.ts <- as.vector(data.ts)

but then I lose the frequency as the periods as the data becomes frequency = 1
data.ts <- stl <- stl(data.ts, "periodic")
Error in stl(data.ts, "periodic") :
   series is not periodic or has less than two periods.

So am I missing a  parameter or is there a more general/proper way to create a 
time series object? First time I've run into this problem .  I can always 
decompose  via an alternative methods so there are work arounds.  But just 
trying to understand what I'm not doing programmatically at this point.

Jeff Reichman

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.