acf {stats}R Documentation

Auto- and Cross- Covariance and -Correlation Function Estimation


The function acf computes (and by default plots) estimates of the autocovariance or autocorrelation function. Function pacf is the function used for the partial autocorrelations. Function ccf computes the cross-correlation or cross-covariance of two univariate series.


acf(x, lag.max = NULL,
    type = c("correlation", "covariance", "partial"),
    plot = TRUE, na.action =, demean = TRUE, ...)

pacf(x, lag.max, plot, na.action, ...)

## Default S3 method:
pacf(x, lag.max = NULL, plot = TRUE, na.action =,

ccf(x, y, lag.max = NULL, type = c("correlation", "covariance"),
    plot = TRUE, na.action =, ...)

acf.obj[i, j]


x, y a univariate or multivariate (not ccf) numeric time series object or a numeric vector or matrix.
lag.max maximum number of lags at which to calculate the acf. Default is 10*log10(N/m) where N is the number of observations and m the number of series.
type character string giving the type of acf to be computed. Allowed values are "correlation" (the default), "covariance" or "partial".
plot logical. If TRUE (the default) the acf is plotted.
na.action function to be called to handle missing values. na.pass can be used.
demean logical. Should the covariances be about the sample means?
... further arguments to be passed to plot.acf.
acf.obj an object of class "acf" resulting from a call to acf.
i a set of lags to retain.
j a set of series to retain.


For type = "correlation" and "covariance", the estimates are based on the sample covariance.

By default, no missing values are allowed. If the na.action function passes through missing values (as na.pass does), the covariances are computed from the complete cases. This means that the estimate computed may well not be a valid autocorrelation sequence, and may contain missing values. Missing values are not allowed when computing the PACF of a multivariate time series.

The partial correlation coefficient is estimated by fitting autoregressive models of successively higher orders up to lag.max.

The generic function plot has a method for objects of class "acf".

The lag is returned and plotted in units of time, and not numbers of observations.

There are print and subsetting methods for objects of class "acf".


An object of class "acf", which is a list with the following elements:

lag A three dimensional array containing the lags at which the acf is estimated.
acf An array with the same dimensions as lag containing the estimated acf.
type The type of correlation (same as the type argument).
n.used The number of observations in the time series.
series The name of the series x.
snames The series names for a multivariate time series.

The result is returned invisibly if plot is TRUE.


Original: Paul Gilbert, Martyn Plummer. Extensive modifications and univariate case of pacf by B.D. Ripley.

See Also

plot.acf, ARMAacf for the exact autocorrelations of a given ARMA process.


## Examples from Venables & Ripley
acf(lh, type = "covariance")

acf(ldeaths, ci.type = "ma")
acf(ts.union(mdeaths, fdeaths))
ccf(mdeaths, fdeaths) # just the cross-correlations.

presidents # contains missing values
acf(presidents, na.action = na.pass)
pacf(presidents, na.action = na.pass)

[Package stats version 2.2.1 Index]