Skip to content

Combinations with two part column

5 messages · Sofyan Iyan, Gabor Grothendieck

#
Dear R-helpers,
I am a beginner using R.
This is the first question in this list.
My question, Is there possible to make combinations with two part column?
If I have a number 1,2,3,4,5,6,7,8. I need the result something like below:

1,2,3,4,5     6,7,8
1,2,3,4,7     5,6,8
2,3,4,5,6     1,7,8
1,2,3,6,7     4,5,8
1,2,3,4,8     5,6,7
3,4,6,7,8     1,2,5
....

I  would be very happy if anyone could help me.
Best regards, 

Sofyan
#
On 5/17/05, Sofyan Iyan <sofyan.iyan at gmail.com> wrote:
Try this:

library(gtools)
t(apply(combinations(8,5), 1, function(x) c(x,setdiff(1:8, x))))
#
Thanks for you quick answer.
Could I extend my question?
How to make the result for each rows with comma ",";
[,1] [,2] [,3] [,4] [,5]
 [1,]    1    2    3    4    5
 [2,]    1    2    3    4    6
 [3,]    1    2    3    4    7
 [4,]    1    2    3    4    8
 [5,]    1    2    3    5    6
 [6,]    1    2    3    5    7
...

I mean like:
    1,    2,    3,    4,    5
    1,    2,    3,    4,    6
    1,    2,    3,    4,    7
    1,    2,    3,    4,    8
    1,    2,    3,    5,    6
    1,    2,    3,    5,    7
[,1] [,2] [,3]
 [1,]    6    7    8
 [2,]    5    7    8
 [3,]    5    6    8
 [4,]    5    6    7
 [5,]    4    7    8
 [6,]    4    6    8
...

this below like:
     6,    7,    8
     5,    7,    8
     5,    6,    8
     5,    6,    7
     4,    7,    8
     4,    6,    8

Best,
Sofyan
On 5/17/05, Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
#
Try write.table:

write.table(comb8.5[,1:5], sep = ",", row.names = FALSE, col.names = FALSE)
write.table(comb8.5[,6:8], sep = ",", row.names = FALSE, col.names = FALSE)
On 5/17/05, Sofyan Iyan <sofyan.iyan at gmail.com> wrote:
#
Dear to Gabor Grothendieck and James Holtman,

Thank you for giving me so much of your time to solve my problem.  
Many thanks and best regards,
Sofyan
On 5/17/05, Gabor Grothendieck <ggrothendieck at gmail.com> wrote: