i'm sure someone else will explain the recursion issue but , as far as your program running a few days, you don't have to wait this long. if you are in windows and do a ctrl alt delete and then click on processes, if the memory usage being used by that R process is staying EXACTLY the same and not moving at all, this is a sign ( atleast i have found this to be true for my cases. i guess it may not always hold ) that nothing is happening and your job has gone into never never land or has somehow become frozen.
----- Original Message ----- From: "Jason Liao" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Thursday, August 24, 2006 4:05 PM Subject: [R] extremely slow recursion in R? >I recently coded a recursion algorithm in R and ir ran a few days > without returning any result. So I decided to try a simple case of > computing binomial coefficient using recusrive relationship > > choose(n,k) = choose(n-1, k)+choose(n-1,k-1) > > I implemented in R and Fortran 90 the same algorithm (code follows). > The R code finishes 31 minutes and the Fortran 90 program finishes in 6 > seconds. So the Fortran program is 310 times faster. I thus wondered if > there is room for speeding up recursion in R. Thanks. > > Jason > > R code > > my.choose = function(n,k) > { > if(k>n) value = 0. > else if(k==0) value = 1. > else if(k==n) value = 1. > else value = my.choose(n-1,k) + my.choose(n-1, k-1) > > value > } > > print(date()) > my.choose(30,15) > print(date()) > > > > Fortran code > > recursive function choose(n, k) result(value) > implicit none > integer n, k > double precision value > if(k>n) then > value = 0. > elseif(k==0) then > value = 1. > else if(k==n) then > value = 1. > else > value = choose(n-1, k) + choose(n-1, k-1) > end if > end function > > program main > write(*,*) choose(30, 15) > end program > > Jason Liao, http://www.geocities.com/jg_liao > Department of Epidemiology and Biostatistics > Drexel University School of Public Health > 245 N. 15th Street, Mail Stop 660 > Philadelphia, PA 19102-1192 > phone 215-762-3934 > > ______________________________________________ > [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 > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ [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 and provide commented, minimal, self-contained, reproducible code.
