[R] Corrected : Efficient writing of calculation involving each element of 2 data frames

From: Vikas N Kumar <vikasnkumar_at_users.sourceforge.net>
Date: Fri, 22 Feb 2008 16:15:20 -0500


I have 2 data.frames each of the same number of rows (approximately 30000 or more entries).
They also have the same number of columns, lets say 2. One column has the date, the other column has a double precision number. Let the column names be V1, V2.

Now I want to calculate the correlation of the 2 sets of data, for the last 100 days for every day available in the data.frames.

My code looks like this :
# Let df1, and df2 be the 2 data frames with the required data
## begin code snippet

my_corr <- c();
for ( i_start in 100:nrow(df1))

       my_corr[i_start-99] <-
## end of code snippet

This runs very slowly, and takes more than an hour to run if I have to calculate correlation between 10 data sets leaving me with 45 runs of this snippet or taking more than 30 minutes to run.

Is there an efficient way to write this piece of code where I can get it to run faster ?

If I do something similar in Excel, it is much faster. But I have to use R, since this is a part of a bigger program.

Any help will be appreciated.

Thanks and Regards


	[[alternative HTML version deleted]]

R-help_at_r-project.org mailing list
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Received on Fri 22 Feb 2008 - 21:18:53 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 Sun 24 Feb 2008 - 10:30:16 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive