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

library(gtools)

Combinaciones connúmeros

Las combinaciones NO repiten elementos en un mismo grupo
NO HAY GRUPOS CON EL MISMO ELEMENTO MAS DE UNA VEZ
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

Permutqciones 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 MAYOR al las combinaciones con el mismo n?mero de elementos en los grupos.
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
# De acuerdo a la Fórmula. Debe salir el mismo número que  nrow(combinaciones)
factorial(N) / (factorial(n) * (factorial(N-n)))
## [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
nrow(permutaciones) # ¿cuántas permutaciones?
## [1] 117600
# De acuerdo a la Fórmula
factorial(N) / factorial(N-n) # debe salir lo mismo que nrow(permutaciones)
## [1] 117600