Hello List,
 
 I am working on creating periodograms from IP network traffic logs using the 
Fast Fourier Transform.  The FFT requires all the data points to be 
evenly-spaced in the time domain (constant delta-T), so I have a step where I 
zero-pad the data.
 
 Lately I've been wondering if there is a faster way to do this.  Here's what 
I've got:
 
 * data1 is a data frame consisting of a timestamp, in seconds, from the 
beginning of the network log, and the number of network events that fell on 
that timestamp.
 Example:
 time,events
 0,1
 1,30
 5,14
 10,4
 
 *data2 is the zero-padded data frame.  It has length equal to the greatest 
value of "time" in data2:
 time,events
 1,0
 2,0
 3,0
 4,0
 5,0
 6,0
 7,0
 8,0
 9,0
 10,0
 
 So I run this for loop:
 for(i in 1:length(data1[,1])) {
     data2[data1[i,1],2]<-data1[i,2]
 }
 
 Which goes to each row in data1, reads the timestamp, and writes the "events" 
to the corresponding row in data2.  The result is:
 time,events
 0,1
 1,30
 2,0
 3,0
 4,0
 5,14
 6,0
 7,0
 9,0
 9,0
 10,4
 
 For a 24-hour log (86,400 seconds) this can take a while...Any advice on how 
to speed it up would be appreciated.
 
 Thanks,
 Pete Cap
 
                
---------------------------------

        [[alternative HTML version deleted]]

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to