Re: [R] using spec.pgram

From: stephen sefick <>
Date: Tue, 10 Jun 2008 12:13:25 -0400

I from a first thought I would say that you are apply this wrong! The fourier transform convolves a function (cos(x)+isin(x) (this may not be the exact formula but I don't have my books near)) to the data and then integrates over -1/2 to 1/2 takes the modulus and plots this- the periodogram. The reason you preform a fourier transform is to look at recurring frequencies in the data, which are in the time domain. The fourier transform converts the time series into the frequency domain and viola you have a peak into the hidden/recurring parts of your signal. From your explaination your are applying this technique wrong- look at schumway, MASS4, et al. books to get a handle on how this technique is used. If you are to apply a time series analysis please use it on a time series. Maybe your logic is not flawed but I don't see how a histogram with its associated binning is a better candidate for time series analysis than the original time series if at all.
good luck


On Tue, Jun 10, 2008 at 8:49 AM, Matthieu Stigler <> wrote:

> Hello
> I don't know exactly what you want to do but:
> -why do you use in your example h$counts and not h? Furthermore helpl file
> says it should be a time series, why then rather not your time series?
> -usually na.action will make the "default" action, which you can see by
> getOptions("na.action")
> -here in this function it is provided in the function values na.action =
> so it will just remove the NA in the time series
> -if you want to study a function, I advise you to copy it entirely, rename
> it and then just insert print(curiousobject...) in the function, this will
> allow you to let the function run and grasp the interessting objects, like:
> study<-function (x, spans = NULL, kernel = NULL, taper = 0.1, pad = 0,
> fast = TRUE, demean = FALSE, detrend = TRUE, plot = TRUE,
> na.action =, ...)
> {
> series <- deparse(substitute(x))
> x <- na.action(as.ts(x))
> print(x)
> xfreq <- frequency(x)
> ...}
> study(sunspots)
> -when you provide an example, instead of giving an external reference for
> the data, try to search a convenient internal data (accessed by data() ), so
> one will be able to reproduce your problems. Here you could use sunspots
> -to obtain the commented code... I don't know it...
> -good luck
> Matthieu
> Hi everyone,
>> first of all, I would like to say that I am a newbie in R, so I apologize
>> in
>> advance if my questions seem to be too easy for you.
>> Well, I'm looking for periodicity in histograms. I have histograms of
>> certain phenomenons and I'm asking whether a periodicity exists in these
>> data. So, I make a periodogram with the function spec.pgram. For instance,
>> if I have a histogram h, I call spec.pgram by spec.pgram (h, log="no",
>> taper=0.5). So, I have some peaks that appear and I would like to
>> interpret
>> them but I do not know how they are computed and so what a peak with a
>> value
>> of 10000 represents in comparison with a peak of value 600 with another
>> histogram.
>> I looked at the source code of the function spec.pgram to better
>> understand
>> what is behind. But, when I apply the source code line by line, I've got a
>> problem. For instance, I make:
>>> >data = scan ("file.txt")
>>> >h = hist (data, breaks=max(data)/5000)
>> #then I apply the first two lines of the spec.pgram function
>>> >series <- deparse(substitute(h$counts))
>>> >x <- na.action(as.ts(h$counts))
>>> >x
>> I do not understand why when I apply the first two lines of the function I
>> have x which is equal to NULL (which make a mistake in the following lines
>> of the code) but if I apply the function directly with h$counts it gives
>> me
>> a result.
>> So, if someone can explain to me what is the problem and/or how spec.pgram
>> exactly computes the periodogram and how to interpret it with my data, I
>> would be so grateful.
>> And subsidiary questions:
>> - Is it possible to have the commented source code of the function?
>> - I do not understand what is the function na.action in the second line of
>> spec.pgram, so if you can explain it to me.
>> Thanks in advance for your answers.
>> Best regards,
>> Anthony Mathelier
>> [[alternative HTML version deleted]]
> ______________________________________________
> mailing list
> PLEASE do read the posting guide
> and provide commented, minimal, self-contained, reproducible code.

Let's not spend our time and resources thinking about things that are so
little or so large that all they really do for us is puff us up and make us
feel like gods. We are mammals, and have not exhausted the annoying little
problems of being mammals.

-K. Mullis

	[[alternative HTML version deleted]]

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Tue 10 Jun 2008 - 16:26:01 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 16 Jun 2008 - 15:30:43 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive