In data frames, multiple time series will be stored in a 'long' format. tsbox
detects a value, a time and zero to several id columns. Column
detection is done in the following order:
Starting on the right, the first first numeric
or integer
column
is used as value column.
Using the remaining columns, and starting on the right again, the first
Date
, POSIXct
, numeric
or character
column is used as
time column. character
strings are parsed by anytime::anytime()
.
The time stamp, time
, indicates the beginning of a period.
All remaining columns are id columns. Each unique combination of
id columns points to a time series.
Alternatively, the time column and the value column to be
explicitly named as time
and value
. If explicit names are used, the
column order will be ignored.
Whenever possible, tsbox relies on heuristic time conversion. When a
monthly "ts"
time series, e.g., AirPassengers
, is converted to a data
frame, each time stamp (of class "Date"
) is the first day of the month. In
most circumstances, this reflects the actual meaning of the data stored in a
"ts"
object. Technically, of course, this is not correct: "ts"
objects
divide time in period of equal length, while in reality, February is shorter
than January. Heuristic conversion is done for frequencies of 0.1 (decades),
1 (years), 4 (quarters) and 12 (month).
For other frequencies, e.g. 260, of EuStockMarkets
, tsbox uses exact
time conversion. The year is divided into 260 equally long units, and time
stamp of a period will be a point in time (of class "POSIXct"
).