Se carga el paquete previamente instalado en R Studio que permite ejecutar combinaciones y permutaciones

library(gtools)

COMBINACIONES CON NÚMEROS

Las combinaciones NO repiten elementos en un mismo grupo
NO HAY GRUPOS CON EL MISMO ELEMENTO MAS DE UNA VEZ
Fórmula de Combinaciones

Fórmula de Combinaciones

N <- 100  # Número de elementos
n <- 2 # grupos de 2 en 2

alumnos <- c(1:N) # Son los alumnos con id un número consecutivo
 
combinaciones <- combinations(N, n, alumnos)
head(combinaciones) # Las primeras combinacione
##      [,1] [,2]
## [1,]    1    2
## [2,]    1    3
## [3,]    1    4
## [4,]    1    5
## [5,]    1    6
## [6,]    1    7
tail(combinaciones) # Las últimas combinaciones
##         [,1] [,2]
## [4945,]   97   98
## [4946,]   97   99
## [4947,]   97  100
## [4948,]   98   99
## [4949,]   98  100
## [4950,]   99  100
 nrow(combinaciones) # ¿cuántas combinaciones?
## [1] 4950
# De acuerdo a la Fórmula. Debe salir el mismo número que  nrow(combinaciones)
factorial(N) / (factorial(n) * (factorial(N-n)))
## [1] 4950

PERMUTACIONES CON NÚMEROS

Las permutaciones SI repiten elementos en un mismo grupo, PERO EN DIFERENTE ORDEN O POSICION EN EL GRUPO
NO HAY GRUPOS CON EL MISMO ELEMENTO MAS DE UNA VEZ
El número de permutaciones es el doble que las combinaciones con el mismo número de elementos en los grupos.
Fórmula de Permutaciones

Fórmula de Permutaciones

permutaciones <- permutations(N, n, alumnos)
head(permutaciones) # Las primeras permutaciones
##      [,1] [,2]
## [1,]    1    2
## [2,]    1    3
## [3,]    1    4
## [4,]    1    5
## [5,]    1    6
## [6,]    1    7
tail(permutaciones) # Las últimas permutaciones
##         [,1] [,2]
## [9895,]  100   94
## [9896,]  100   95
## [9897,]  100   96
## [9898,]  100   97
## [9899,]  100   98
## [9900,]  100   99
nrow(permutaciones)  # ¿cuántas permutaciones?
## [1] 9900
# De acuerdo a la Fórmula
factorial(N) / factorial(N-n) # debe salir lo mismo que nrow(permutaciones)
## [1] 9900
con grupos de 3. Combinaciones de 50 alumnos
N <- 50
n <- 3

alumnos <- c(1:N)

combinaciones <- combinations(N, n, alumnos)
head(combinaciones) # Las primeras combinacione
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    1    2    4
## [3,]    1    2    5
## [4,]    1    2    6
## [5,]    1    2    7
## [6,]    1    2    8
tail(combinaciones) # Las últimas combinaciones
##          [,1] [,2] [,3]
## [19595,]   46   48   50
## [19596,]   46   49   50
## [19597,]   47   48   49
## [19598,]   47   48   50
## [19599,]   47   49   50
## [19600,]   48   49   50
nrow(combinaciones) # ¿cuántas combinaciones?
## [1] 19600
con grupos de 3. Permutaciones de 50 alumnos
N <- 50
n <- 3

alumnos <- c(1:N)

permutaciones <- permutations(N, n, alumnos)
head(permutaciones) # Las primeras permutaciones
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    1    2    4
## [3,]    1    2    5
## [4,]    1    2    6
## [5,]    1    2    7
## [6,]    1    2    8
tail(permutaciones) # Las últimas permutaciones
##           [,1] [,2] [,3]
## [117595,]   50   49   43
## [117596,]   50   49   44
## [117597,]   50   49   45
## [117598,]   50   49   46
## [117599,]   50   49   47
## [117600,]   50   49   48
length(permutaciones) # ¿cuántas permutaciones?
## [1] 352800