The spectrum function estimates the spectral density of a
time series.
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 2pi 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:
freq
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.
spec
Vector (for univariate series) or matrix (for multivariate
series) of estimates of the spectral density at frequencies
corresponding to freq.
coh
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.
phase
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.
series
The name of the time series.
snames
For multivariate input, the names of the component series.
method
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.
Author(s)
Martyn Plummer, B.D. Ripley
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
spec.ar,
spec.pgram;
plot.spec.
Examples
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")
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(stats)
> png(filename="/home/ddbj/snapshot/RGM3/R_rel/result/stats/spectrum.Rd_%03d_medium.png", width=480, height=480)
> ### Name: spectrum
> ### Title: Spectral Density Estimation
> ### Aliases: spectrum spec
> ### Keywords: ts
>
> ### ** Examples
>
> 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")
>
>
>
>
>
> dev.off()
null device
1
>