Learn R Programming

zoo (version 1.8-9)

yearqtr: An Index Class for Quarterly Data

Description

"yearqtr" is a class for representing quarterly data.

Usage

yearqtr(x)
as.yearqtr(x, …)
# S3 method for character
as.yearqtr(x, format, …)
# S3 method for yearqtr
format(x, format = "%Y Q%q", …)

Arguments

x

for yearqtr a numeric (interpreted as being “in years”). For as.yearqtr another date class object. For the "yearqtr" method of format an object of class "yearqtr" or if called as format.yearqtr then an object with an as.yearqtr method that can be coerced to "yearqtr".

format

character string specifying format. For coercing to "yearqtr" from character: "%Y" and "%q" have to be specified. For formatting an existing "yearqtr": "%C", "%Y", "%y" and "%q", if present, are replaced with the century, year, last two digits of the year, and quarter (i.e. a number between 1 and 4), respectively.

arguments passed ot other methods.

Value

yearqtr and as.yearqtr return the first argument converted to class yearqtr. The format method returns a character string representation of its argument first argument.

Details

The "yearqtr" class is used to represent quarterly data. Internally it holds the data as year plus 0 for Quarter 1, 1/4 for Quarter 2 and so on in order that its internal representation is the same as ts class with frequency = 4. If x is not in this format it is rounded via floor(4*x + .0001)/4.

as.yearqtr.character uses a default format of "%Y Q%q", "%Y q%q" or "%Y-%q" according to whichever matches. %q accepts the numbers 1-4 (possibly with leading zeros). Due to this %q does not match to single digits only and consequently formats such as as.yearqtr("Q12000", "Q%q%Y") are ambiguous and do not work (i.e., result in NA).

There are coercion methods available for various classes including: default coercion to "yearqtr" (which coerces to "numeric" first) and coercion from "yearqtr" to "Date" (see below), "POSIXct", "POSIXlt", "numeric", "character" and "jul". The last one is from the frame package on CRAN.

There is an is.numeric method which returns FALSE.

There is also a date method for as.yearqtr usable with objects created with package date.

Sys.yearqtr() returns the current year/month and methods for min, max and range are defined (by defining a method for Summary).

A yearqtr mean method is also defined.

Certain methods support a frac argument. See yearmon.

See Also

yearmon, zoo, zooreg, ts, strptime.

Examples

Run this code
# NOT RUN {
Sys.setenv(TZ = "GMT")

x <- as.yearqtr(2000 + seq(0, 7)/4)
x

format(x, "%Y Quarter %q")
as.yearqtr("2001 Q2")
as.yearqtr("2001 q2") # same
as.yearqtr("2001-2") # same

# returned Date is the fraction of the way through
# the period given by frac (= 0 by default)
dd <- as.Date(x)
format.yearqtr(dd)
as.Date(x, frac = 1)
as.POSIXct(x)

suppressWarnings(RNGversion("3.5.0"))
set.seed(1)

zz <- zoo(rnorm(8), x, frequency = 4)
zz
as.ts(zz)

# }

Run the code above in your browser using DataLab