findfrequency returns the period of the dominant frequency of a time
series. For seasonal data, it will return the seasonal period. For cyclic
data, it will return the average cycle length.
a numeric vector or time series of class
an integer value
The dominant frequency is determined from a spectral analysis of the time series. First, a linear trend is removed, then the spectral density function is estimated from the best fitting autoregressive model (based on the AIC). If there is a large (possibly local) maximum in the spectral density function at frequency \(f\), then the function will return the period \(1/f\) (rounded to the nearest integer). If no such dominant frequency can be found, the function will return 1.
findfrequency(USAccDeaths) # Monthly data#>  12findfrequency(taylor) # Half-hourly data#>  48findfrequency(lynx) # Annual data#>  10