periodicity: Approximate Series Periodicity

View source: R/periodicity.R

periodicityR Documentation

Approximate Series Periodicity


Estimate the periodicity of a time-series-like object by calculating the median time between observations in days.


periodicity(x, ...)



A time-series-like object.




A simple wrapper to quickly estimate the periodicity of a given data. Returning an object of type periodicity.

This calculates the median time difference between observations as a difftime object, the numerical difference, the units of measurement, and the derived scale of the data as a string.

The time index currently must be of either a 'Date' or 'POSIXct' class, or or coercible to one of them.

The 'scale' component of the result is an estimate of the periodicity of the data in common terms - e.g. 7 day daily data is best described as 'weekly', and would be returned as such.


A 'periodicity' object with the following elements:

  • the difftime object,

  • frequency: the median time difference between observations

  • start: the first observation

  • end: the last observation

  • units: one of secs, mins, hours, or days

  • scale: one of seconds, minute, hourly, daily, weekly, monthly, quarterly, or yearly

  • label: one of second, minute, hour, day, week, month, quarter, year

Possible scale values are: ‘minute’, ‘hourly’, ‘daily’, ‘weekly’, ‘monthly’, ‘quarterly’, and ‘yearly’.


This function only attempts to be a good estimate for the underlying periodicity. If the series is too short, or has highly irregular periodicity, the return values will not be accurate. That said, it is quite robust and used internally within xts.


Jeffrey A. Ryan

See Also



zoo.ts <- zoo(rnorm(231),as.Date(13514:13744,origin="1970-01-01"))

xts documentation built on June 22, 2024, 9:56 a.m.