[R] generate combination set
Bill.Venables at csiro.au
Bill.Venables at csiro.au
Thu Nov 15 07:30:40 CET 2007
There are a number of packages that do this, but here is a simple
function for choosing subsets:
subsets <- function(n, r) {
if(is.numeric(n) & length(n) == 1) v <- 1:n else {
v <- n
n <- length(v)
}
subs <- function(n, r, v)
if(r <= 0) NULL else
if(r >= n) matrix(v[1:n], nrow = 1) else
rbind(cbind(v[1], subs(n - 1, r - 1, v[-1])),
subs(n - 1, r , v[-1]))
subs(n, r, v)
}
Here is an example of how to use it:
> set <- LETTERS[1:7]
> subsets(set, 2)
[,1] [,2]
[1,] "A" "B"
[2,] "A" "C"
[3,] "A" "D"
[4,] "A" "E"
[5,] "A" "F"
[6,] "A" "G"
[7,] "B" "C"
[8,] "B" "D"
[9,] "B" "E"
[10,] "B" "F"
[11,] "B" "G"
[12,] "C" "D"
[13,] "C" "E"
[14,] "C" "F"
[15,] "C" "G"
[16,] "D" "E"
[17,] "D" "F"
[18,] "D" "G"
[19,] "E" "F"
[20,] "E" "G"
[21,] "F" "G"
Bill Venables
CSIRO Laboratories
PO Box 120, Cleveland, 4163
AUSTRALIA
Office Phone (email preferred): +61 7 3826 7251
Fax (if absolutely necessary): +61 7 3826 7304
Mobile: +61 4 8819 4402
Home Phone: +61 7 3286 7700
mailto:Bill.Venables at csiro.au
http://www.cmis.csiro.au/bill.venables/
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of aiminy at iastate.edu
Sent: Thursday, 15 November 2007 2:51 PM
To: r-help at r-project.org
Subject: [R] generate combination set
I have a set data={A,B,C,D,E,F,G}
I want to choose 2 letter from 8 letters, i.e. generate the combination
set
for choose 2 letters from 8 letters.
I want to get the liking:
combination set={AB,AC,AD,....}
Does anyone konw how to do in R.
thanks,
Aimin
______________________________________________
R-help at r-project.org 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.
More information about the R-help
mailing list