# spectrum

##### Spectral Density Estimation

The `spectrum`

function estimates the spectral density of a
time series.

- Keywords
- ts

##### Usage

`spectrum(x, …, method = c("pgram", "ar"))`

##### Arguments

- x
A univariate or multivariate time series.

- method
String specifying the method used to estimate the spectral density. Allowed methods are

`"pgram"`

(the default) and`"ar"`

. Can be abbreviated.- …
Further arguments to specific spec methods or

`plot.spec`

.

##### Details

`spectrum`

is a wrapper function which calls the methods
`spec.pgram`

and `spec.ar`

.

The spectrum here is defined with scaling `1/frequency(x)`

,
following S-PLUS. This makes the spectral density a density over the
range `(-frequency(x)/2, +frequency(x)/2]`

, whereas a more common
scaling is \(2\pi\) and range \((-0.5, 0.5]\) (e.g., Bloomfield)
or 1 and range \((-\pi, \pi]\).

If available, a confidence interval will be plotted by
`plot.spec`

: this is asymmetric, and the width of the centre
mark indicates the equivalent bandwidth.

##### Value

An object of class `"spec"`

, which is a list containing at
least the following components:

vector of frequencies at which the spectral density is estimated. (Possibly approximate Fourier frequencies.) The units are the reciprocal of cycles per unit time (and not per observation spacing): see ‘Details’ below.

Vector (for univariate series) or matrix (for multivariate
series) of estimates of the spectral density at frequencies
corresponding to `freq`

.

`NULL`

for univariate series. For multivariate time
series, a matrix containing the *squared* coherency
between different
series. Column \( i + (j - 1) * (j - 2)/2\) of `coh`

contains the squared coherency between columns \(i\) and \(j\)
of `x`

, where \(i < j\).

`NULL`

for univariate series. For multivariate
time series a matrix containing the cross-spectrum phase between
different series. The format is the same as `coh`

.

The name of the time series.

For multivariate input, the names of the component series.

The method used to calculate the spectrum.

The result is returned invisibly if plot is true.

##### Note

The default plot for objects of class `"spec"`

is quite complex,
including an error bar and default title, subtitle and axis
labels. The defaults can all be overridden by supplying the
appropriate graphical parameters.

##### References

Bloomfield, P. (1976) *Fourier Analysis of Time Series: An
Introduction.* Wiley.

Brockwell, P. J. and Davis, R. A. (1991) *Time Series: Theory and
Methods.* Second edition. Springer.

Venables, W. N. and Ripley, B. D. (2002) *Modern Applied
Statistics with S-PLUS.* Fourth edition. Springer. (Especially
pages 392--7.)

##### See Also

##### Examples

`library(stats)`

```
# NOT RUN {
require(graphics)
## Examples from Venables & Ripley
## spec.pgram
par(mfrow = c(2,2))
spectrum(lh)
spectrum(lh, spans = 3)
spectrum(lh, spans = c(3,3))
spectrum(lh, spans = c(3,5))
spectrum(ldeaths)
spectrum(ldeaths, spans = c(3,3))
spectrum(ldeaths, spans = c(3,5))
spectrum(ldeaths, spans = c(5,7))
spectrum(ldeaths, spans = c(5,7), log = "dB", ci = 0.8)
# for multivariate examples see the help for spec.pgram
## spec.ar
spectrum(lh, method = "ar")
spectrum(ldeaths, method = "ar")
# }
```

*Documentation reproduced from package stats, version 3.6.1, License: Part of R 3.6.1*