yearmon

0th

Percentile

An Index Class for Monthly Data

"yearmon" is a class for representing monthly data.

Keywords
ts
Usage
yearmon(x)
Arguments
x
numeric (interpreted as being in years).
Details

The yearmon class is used to represent monthly data. Internally it holds the data as year plus 0 for January, 1/12 for February, 2/12 for March and so on in order that its internal representation is the same as ts class with frequency = 12. If x is not in this format it is rounded via floor(12*x + .0001)/12. There are coercion methods available for various classes including: default coercion to "yearmon" (which coerces to "numeric" first) and coercion from "yearmon" to "Date" (see below), "POSIXct", "POSIXlt", "numeric", "character". In the case of as.yearmon.character the format argument is the same as for "Date". One can specify a year and month with no day. as.Date.yearmon and as.yearmon.yearqtr both have an optional second argument of "frac" which is a number between 0 and 1 inclusive that indicates the fraction of the way through the period that the result represents. The default is 0 which means the beginning of the period.

Value

  • Returns its argument converted to class yearmon.

See Also

yearqtr, zoo, zooreg, ts

Aliases
  • yearmon
  • as.yearmon
  • as.yearmon.default
  • as.yearmon.numeric
  • as.yearmon.integer
  • as.yearmon.dates
  • as.yearmon.Date
  • as.yearmon.POSIXt
  • as.yearmon.character
  • as.yearmon.factor
  • as.Date.yearmon
  • as.POSIXct.yearmon
  • as.POSIXlt.yearmon
  • as.numeric.yearmon
  • as.character.yearmon
  • as.data.frame.yearmon
  • c.yearmon
  • cycle.yearmon
  • format.yearmon
  • print.yearmon
  • summary.yearmon
  • [.yearmon
  • MATCH.yearmon
  • Ops.yearmon
  • -.yearmon
Examples
x <- yearmon(2000 + seq(0, 23)/12)
x

as.yearmon("mar07", "%b%y")
as.yearmon("2007-03-01")
as.yearmon("2007-12")

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

# given a Date, x, return the Date of the next Friday
nextfri <- function(x) 7 * ceiling(as.numeric(x - 1)/7) + as.Date(1)

# 3rd Friday in last month of the quarter of Date x
as.Date(as.yearmon(as.yearqtr(x)) + 2/12) + 14

z <- zoo(rnorm(24), x, frequency = 12)
z
as.ts(z)

## convert data fram to multivariate monthly "ts" series
## 1.read raw data
Lines.raw <- "ID Date Count
123 20 May 1999 1
123 21 May 1999 3
222 1 Feb 2000 2
222 3 Feb 2000 4
"
DF <- read.table(textConnection(Lines.raw), skip = 1,
 col.names = c("ID", "d", "b", "Y", "Count"))
## 2. fix raw date
DF$yearmon <- as.yearmon(paste(DF$b, DF$Y), "%b %Y")
## 3. aggregate counts over months, convert to zoo and merge over IDs
ag <- function(DF) aggregate(zoo(DF$Count), DF$yearmon, sum)
z <- do.call("merge.zoo", lapply(split(DF, DF$ID), ag))
## 4. convert to "zooreg" and then to "ts"
frequency(z) <- 12
as.ts(z)

xx <- zoo(seq_along(x), x)

## aggregating over year 
as.year <- function(x) as.numeric(floor(as.yearmon(x)))
aggregate(xx, as.year, mean)
Documentation reproduced from package zoo, version 1.5-6, License: GPL-2

Community examples

Looks like there are no examples yet.