Dear R-users, Let me ask about the 'stack overflow' error which I got when I used the function 'combinations' in "gtools". The following is what I did: --------- library(gtools) options(expressions=1e5) combinations(500, 3, 1:500) # or combinations(400, 2, 1:400) Error: protect(): stack overflow --------- How can I overcome this error? Is there perhaps any other function to do this more efficiently? Hope that somone can help me out. Thanks in advance. Lee P.S. R 2.0.0; alphaev68-dec-osf4.0f
On Mon, 14 Feb 2005, Ho-Joon Lee wrote:> Dear R-users, > > Let me ask about the 'stack overflow' error which I got when I used the > function 'combinations' in "gtools". > > The following is what I did: > > --------- > library(gtools) > options(expressions=1e5) > combinations(500, 3, 1:500) > # or combinations(400, 2, 1:400) > Error: protect(): stack overflow > --------- > > How can I overcome this error? Is there perhaps any other function to do this > more efficiently?R --help lists a flag that you can use to increase the size of the protect stack. It is also described in `An Introduction to R'. -- 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
The documentation for 'combinations' explicitly describes this problem: Details: Caution: The number of combinations and permutations increases rapidly with 'n' and 'r'!. To use values of 'n' above about 45, you will need to increase R's recursion limit. See the 'expression' argument to the 'options' command for details on how to do this. and gives an example of the solution: # To use large 'n', you need to change the default recusion limit options(expressions=1e5) cmat <- combinations(300,2) dim(cmat) # 44850 by 2 -Greg> -----Original Message----- > From: r-help-bounces at stat.math.ethz.ch > [mailto:r-help-bounces at stat.math.ethz.ch]On Behalf Of Prof > Brian Ripley > Sent: Monday, February 14, 2005 10:23 AM > To: Ho-Joon Lee > Cc: r-help at stat.math.ethz.ch > Subject: Re: [R] 'combinations' in gtools and stack overflow > > > On Mon, 14 Feb 2005, Ho-Joon Lee wrote: > > > Dear R-users, > > > > Let me ask about the 'stack overflow' error which I got > when I used the > > function 'combinations' in "gtools". > > > > The following is what I did: > > > > --------- > > library(gtools) > > options(expressions=1e5) > > combinations(500, 3, 1:500) > > # or combinations(400, 2, 1:400) > > Error: protect(): stack overflow > > --------- > > > > How can I overcome this error? Is there perhaps any other > function to do this > > more efficiently? > > R --help lists a flag that you can use to increase the size > of the protect > stack. It is also described in `An Introduction to R'. > > -- > 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 > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide!http://www.R-project.org/posting-guide.html LEGAL NOTICE\ Unless expressly stated otherwise, this messag...{{dropped}}
davidr@rhotrading.com
2005-Feb-14 17:12 UTC
[R] 'combinations' in gtools and stack overflow
combn in package combinat does not use recursion, and so may be simpler to use and may be able to do larger sets. David L. Reiner -----Original Message----- From: Warnes, Gregory R [mailto:gregory.r.warnes at pfizer.com] Sent: Monday, February 14, 2005 11:01 AM To: Ho-Joon Lee Cc: r-help at stat.math.ethz.ch Subject: RE: [R] 'combinations' in gtools and stack overflow The documentation for 'combinations' explicitly describes this problem: Details: Caution: The number of combinations and permutations increases rapidly with 'n' and 'r'!. To use values of 'n' above about 45, you will need to increase R's recursion limit. See the 'expression' argument to the 'options' command for details on how to do this. and gives an example of the solution: # To use large 'n', you need to change the default recusion limit options(expressions=1e5) cmat <- combinations(300,2) dim(cmat) # 44850 by 2 -Greg> -----Original Message----- > From: r-help-bounces at stat.math.ethz.ch > [mailto:r-help-bounces at stat.math.ethz.ch]On Behalf Of Prof > Brian Ripley > Sent: Monday, February 14, 2005 10:23 AM > To: Ho-Joon Lee > Cc: r-help at stat.math.ethz.ch > Subject: Re: [R] 'combinations' in gtools and stack overflow > > > On Mon, 14 Feb 2005, Ho-Joon Lee wrote: > > > Dear R-users, > > > > Let me ask about the 'stack overflow' error which I got > when I used the > > function 'combinations' in "gtools". > > > > The following is what I did: > > > > --------- > > library(gtools) > > options(expressions=1e5) > > combinations(500, 3, 1:500) > > # or combinations(400, 2, 1:400) > > Error: protect(): stack overflow > > --------- > > > > How can I overcome this error? Is there perhaps any other > function to do this > > more efficiently? > > R --help lists a flag that you can use to increase the size > of the protect > stack. It is also described in `An Introduction to R'. > > -- > 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 > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide!http://www.R-project.org/posting-guide.html LEGAL NOTICE\ Unless expressly stated otherwise, this\ messa...{{dropped}}