spectrum
On Thu, 22 Jan 2004, Andreas Pauling wrote:
I have two questions about estimating the spectral power of a time series: 1) I came across a funny thing with the following code: data(co2) par(mfrow=c(2,1)) co2.sp1<-spectrum(co2,detrend=T,demean=T,span=3) co2.sp2<-spectrum(co2[1:468],detrend=T,demean=T,span=3) The first plot displays the frequencies ranging from 0 to 6 whearas the second plot displays the same curve but with frequencies between 0 and .5 although it is based on the same data (length(co2)=468). Why does the selection (co2[1:468]) determine the vector of frequencies and plot it obviously incorrectly?
It is correct! co2[1:468] is not a time series: you should be using window() to subset time series. So you supplied a vector which does not have a frequency (or a start or an end) and default values are used. Did you consider actually looking at co2[1:468]?
Generally, is it possible to choose the vector of frequencies at which the spectral density is estimated and plotted?
Wait a minute: spectrum() does not estimate a spectral density but calls helper functions to do so. Please consult their help pages. The answer is a qualified `yes'.
2) How can the significance of the peaks be tested?
Not an R question, and not well enough defined for a short answer. See any good book on time series.
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595