zoo (version 1.8-9)

yearqtr: An Index Class for Quarterly Data


"yearqtr" is a class for representing quarterly data.


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



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".


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.


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.


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.


Sys.setenv(TZ = "GMT")

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

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)
as.Date(x, frac = 1)


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

# }