The "gregmisc" package provides the 'combinations' function, which can be used as:
combinations(n=4, r=3, c('a','b','c','d') )
[,1] [,2] [,3] [1,] "a" "b" "c" [2,] "a" "b" "d" [3,] "a" "c" "d" [4,] "b" "c" "d" where each row contains one possible combination. The 'combinat' package provides the 'combn' function which can be used as:
combn( c('a','b','c','d'), 3 )
[,1] [,2] [,3] [,4] [1,] "a" "a" "a" "b" [2,] "b" "b" "c" "c" [3,] "c" "d" "d" "d" where each column contains one possible combination. -Greg
-----Original Message----- From: Michaell Taylor [mailto:pols1oh at bestweb.net] Sent: Thursday, November 07, 2002 2:52 PM To: r-help at stat.math.ethz.ch Subject: [R] combinations I need to construct all possible combinations of an vector of length N taken X at a time for simulation purposes. Taking a a small vector as an example:
input <- c('a','b','c','d')
somefunction(input)
a,b,c
a,b,d
a,c,d
b,c,d
my only solution thus far is:
somefunction <- function(x){
...a series of grotesque and horribly inefficient loops
deleted to save face.
}
For my purposes, N=20 and X=5, meaning there are about 15k
combinations.
I assumed this might be a common problem, but I am coming up
empty on my searches
of the usual suspect web sites.
Thanks in advance for any pointers anyone may have.
Michaell
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
-.-.-.-.-.-.-.-.-
r-help mailing list -- Read
http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To:
r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.
_._._._._._._._._
LEGAL NOTICE Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this E-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents of this E-mail or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately. -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._