Construir combinaciones de conjuntos de datos de personas y de nombres de equipos deportivos.
A partir de conjuntos datos (valores individuales) realizar combinaciones para conocer el número de las mismas y el acomodo de los valores para su interpretación en términos de probabilidad.
Cargar librerías
Cargar los datos
Identificar fórmula de factorial
Identificar fórmula de combinaciones
Determinar probabilidades a partir del espacio muestral de las combinaciones
Encontrar probabilidad con base en frecuencia o contabilizar eventos específicos del espacio muestral
Interpretar el caso
Se van a utilizar funciones de la librería “gtools” por lo que se necesario instalarla previamente: install.packages(“gtools”).
Esta librería permitirá hacer combinaciones y permutaciones.
# install.packages("gtools")
library(gtools)
Para hacer combinaciones es necesario identificar la importancia del valor factorial de un número
El factorial de un número es el producto de \(n\) por todos los naturales menores que el y se representa con el \(!n\), entonces \(n!=n\times(n-1)...\times 1\)
La función factorial es una fórmula matemática representada por el signo de exclamación \(!\). En la fórmula Factorial se deben multiplicar todos los números enteros y positivos que hay entre el número que aparece en la fórmula y el número \(1\).
Ejemplo: hallar el factorial de 6 o se sea \(6!=6\times5\times4\times3\times2\times1=720\)
La regla de conteo de combinaciones permite contar el número de resultados experimentales cuando el experimento consiste en \(r\) objetos de un conjunto (usualmente mayor) de \(n\) objetos.
\[ S=Cn\binom{n}{r} = \frac{n!}{(r!\cdot(n-r)!)}\\S \text{ es el espacio muestral y la cantidad de combinaciones} \\Cn \text{ es el número de combinaciones posibles}\\ \binom{n}{r} \text {es símbolo de combinar n elements en grupos de r}\\ n \text{ es el total de elementos}\\ r \text{ es de cuantos en cuantos elementos se hacen grupos} \]
Se trata de hacer combinaciones con los nombres de cuatro personas: “Oscar”, “Paco”, “Paty”, “Laura” … … en grupos de 2. Entonces \(n=4\), porque hay cuatro nombres o elementos y \(r=2\) porque se trata de agrupar de dos en dos.
¿Cuántas combinaciones deberá haber?
Oscar y Paco
Oscar y Paty
Oscar y Laura
Paco y Paty
… …
Paty y Laura
nombres <- c("Oscar", "Paco", "Paty", "Laura", "Rubén", "Luis", "Lucy", "Alberto", "Juan")
n <- length(nombres)
r <- 2 # ¿cómo agrupar?
Cn <- factorial(n) / (factorial(r) * factorial(n-r))
paste("Existen ", Cn , " posibles combinaciones del total de ", n , " nombres ", " en grupos de ", r ," en ", r)
## [1] "Existen 36 posibles combinaciones del total de 9 nombres en grupos de 2 en 2"
Se trata de hacer combinaciones con los nombres de seis equipos de fútbol: “Atlas”, “Guadalajara”, “Monterrey”, “América”, “Cruz Azul”, “Santos” en grupos de 3. Entonces \(n=6\), porque hay seis equipos o elementos y \(r=5\) porque se trata de agrupar de tres en tres.
¿Cuántas combinaciones deberá haber?
equipos <- c("Atlas", "Guadalajara", "Monterrey", "América", "Cruz Azul", "Santos", "Mazatlán", "Tijuana", "León")
n <- length(equipos)
r <- 5 # ¿cómo agrupar?
Cn <- factorial(n) / (factorial(r) * factorial(n-r))
paste("Existen ", Cn , " posibles combinaciones del total de ", n , " equipos ", " en grupos de ", r ," en ", r)
## [1] "Existen 126 posibles combinaciones del total de 9 equipos en grupos de 5 en 5"
Si bien la fórmula de combinaciones indica el número de combinaciones posibles de un conjunto de elementos pero lo que se desea conocer es ¿cómo se forman las combinaciones o cómo se verían los grupos formados?.
Se utiliza la función combination
Se utiliza la función combinations() y se requiere por lo menos tres atributos:
La cantidad de elementos n
Los grupos de cuanto en cuanto se forman r
y los elementos, o sea en este caso el vector v
Se muestran las posibles combinaciones de los nombres de personas. Las función combinations() ordena los valores alfabéticamente y luego construye las combinaciones.
nombres
## [1] "Oscar" "Paco" "Paty" "Laura" "Rubén" "Luis" "Lucy"
## [8] "Alberto" "Juan"
Cn.nombres <- combinations(n = length(nombres), r = 2, v = nombres)
Cn.nombres
## [,1] [,2]
## [1,] "Alberto" "Juan"
## [2,] "Alberto" "Laura"
## [3,] "Alberto" "Lucy"
## [4,] "Alberto" "Luis"
## [5,] "Alberto" "Oscar"
## [6,] "Alberto" "Paco"
## [7,] "Alberto" "Paty"
## [8,] "Alberto" "Rubén"
## [9,] "Juan" "Laura"
## [10,] "Juan" "Lucy"
## [11,] "Juan" "Luis"
## [12,] "Juan" "Oscar"
## [13,] "Juan" "Paco"
## [14,] "Juan" "Paty"
## [15,] "Juan" "Rubén"
## [16,] "Laura" "Lucy"
## [17,] "Laura" "Luis"
## [18,] "Laura" "Oscar"
## [19,] "Laura" "Paco"
## [20,] "Laura" "Paty"
## [21,] "Laura" "Rubén"
## [22,] "Lucy" "Luis"
## [23,] "Lucy" "Oscar"
## [24,] "Lucy" "Paco"
## [25,] "Lucy" "Paty"
## [26,] "Lucy" "Rubén"
## [27,] "Luis" "Oscar"
## [28,] "Luis" "Paco"
## [29,] "Luis" "Paty"
## [30,] "Luis" "Rubén"
## [31,] "Oscar" "Paco"
## [32,] "Oscar" "Paty"
## [33,] "Oscar" "Rubén"
## [34,] "Paco" "Paty"
## [35,] "Paco" "Rubén"
## [36,] "Paty" "Rubén"
Se muestran las posibles combinaciones de los nombres de equipos de fútbol.
equipos
## [1] "Atlas" "Guadalajara" "Monterrey" "América" "Cruz Azul"
## [6] "Santos" "Mazatlán" "Tijuana" "León"
Cn.equipos <- combinations(n = length(equipos), r = 5, v = equipos)
Cn.equipos
## [,1] [,2] [,3] [,4] [,5]
## [1,] "América" "Atlas" "Cruz Azul" "Guadalajara" "León"
## [2,] "América" "Atlas" "Cruz Azul" "Guadalajara" "Mazatlán"
## [3,] "América" "Atlas" "Cruz Azul" "Guadalajara" "Monterrey"
## [4,] "América" "Atlas" "Cruz Azul" "Guadalajara" "Santos"
## [5,] "América" "Atlas" "Cruz Azul" "Guadalajara" "Tijuana"
## [6,] "América" "Atlas" "Cruz Azul" "León" "Mazatlán"
## [7,] "América" "Atlas" "Cruz Azul" "León" "Monterrey"
## [8,] "América" "Atlas" "Cruz Azul" "León" "Santos"
## [9,] "América" "Atlas" "Cruz Azul" "León" "Tijuana"
## [10,] "América" "Atlas" "Cruz Azul" "Mazatlán" "Monterrey"
## [11,] "América" "Atlas" "Cruz Azul" "Mazatlán" "Santos"
## [12,] "América" "Atlas" "Cruz Azul" "Mazatlán" "Tijuana"
## [13,] "América" "Atlas" "Cruz Azul" "Monterrey" "Santos"
## [14,] "América" "Atlas" "Cruz Azul" "Monterrey" "Tijuana"
## [15,] "América" "Atlas" "Cruz Azul" "Santos" "Tijuana"
## [16,] "América" "Atlas" "Guadalajara" "León" "Mazatlán"
## [17,] "América" "Atlas" "Guadalajara" "León" "Monterrey"
## [18,] "América" "Atlas" "Guadalajara" "León" "Santos"
## [19,] "América" "Atlas" "Guadalajara" "León" "Tijuana"
## [20,] "América" "Atlas" "Guadalajara" "Mazatlán" "Monterrey"
## [21,] "América" "Atlas" "Guadalajara" "Mazatlán" "Santos"
## [22,] "América" "Atlas" "Guadalajara" "Mazatlán" "Tijuana"
## [23,] "América" "Atlas" "Guadalajara" "Monterrey" "Santos"
## [24,] "América" "Atlas" "Guadalajara" "Monterrey" "Tijuana"
## [25,] "América" "Atlas" "Guadalajara" "Santos" "Tijuana"
## [26,] "América" "Atlas" "León" "Mazatlán" "Monterrey"
## [27,] "América" "Atlas" "León" "Mazatlán" "Santos"
## [28,] "América" "Atlas" "León" "Mazatlán" "Tijuana"
## [29,] "América" "Atlas" "León" "Monterrey" "Santos"
## [30,] "América" "Atlas" "León" "Monterrey" "Tijuana"
## [31,] "América" "Atlas" "León" "Santos" "Tijuana"
## [32,] "América" "Atlas" "Mazatlán" "Monterrey" "Santos"
## [33,] "América" "Atlas" "Mazatlán" "Monterrey" "Tijuana"
## [34,] "América" "Atlas" "Mazatlán" "Santos" "Tijuana"
## [35,] "América" "Atlas" "Monterrey" "Santos" "Tijuana"
## [36,] "América" "Cruz Azul" "Guadalajara" "León" "Mazatlán"
## [37,] "América" "Cruz Azul" "Guadalajara" "León" "Monterrey"
## [38,] "América" "Cruz Azul" "Guadalajara" "León" "Santos"
## [39,] "América" "Cruz Azul" "Guadalajara" "León" "Tijuana"
## [40,] "América" "Cruz Azul" "Guadalajara" "Mazatlán" "Monterrey"
## [41,] "América" "Cruz Azul" "Guadalajara" "Mazatlán" "Santos"
## [42,] "América" "Cruz Azul" "Guadalajara" "Mazatlán" "Tijuana"
## [43,] "América" "Cruz Azul" "Guadalajara" "Monterrey" "Santos"
## [44,] "América" "Cruz Azul" "Guadalajara" "Monterrey" "Tijuana"
## [45,] "América" "Cruz Azul" "Guadalajara" "Santos" "Tijuana"
## [46,] "América" "Cruz Azul" "León" "Mazatlán" "Monterrey"
## [47,] "América" "Cruz Azul" "León" "Mazatlán" "Santos"
## [48,] "América" "Cruz Azul" "León" "Mazatlán" "Tijuana"
## [49,] "América" "Cruz Azul" "León" "Monterrey" "Santos"
## [50,] "América" "Cruz Azul" "León" "Monterrey" "Tijuana"
## [51,] "América" "Cruz Azul" "León" "Santos" "Tijuana"
## [52,] "América" "Cruz Azul" "Mazatlán" "Monterrey" "Santos"
## [53,] "América" "Cruz Azul" "Mazatlán" "Monterrey" "Tijuana"
## [54,] "América" "Cruz Azul" "Mazatlán" "Santos" "Tijuana"
## [55,] "América" "Cruz Azul" "Monterrey" "Santos" "Tijuana"
## [56,] "América" "Guadalajara" "León" "Mazatlán" "Monterrey"
## [57,] "América" "Guadalajara" "León" "Mazatlán" "Santos"
## [58,] "América" "Guadalajara" "León" "Mazatlán" "Tijuana"
## [59,] "América" "Guadalajara" "León" "Monterrey" "Santos"
## [60,] "América" "Guadalajara" "León" "Monterrey" "Tijuana"
## [61,] "América" "Guadalajara" "León" "Santos" "Tijuana"
## [62,] "América" "Guadalajara" "Mazatlán" "Monterrey" "Santos"
## [63,] "América" "Guadalajara" "Mazatlán" "Monterrey" "Tijuana"
## [64,] "América" "Guadalajara" "Mazatlán" "Santos" "Tijuana"
## [65,] "América" "Guadalajara" "Monterrey" "Santos" "Tijuana"
## [66,] "América" "León" "Mazatlán" "Monterrey" "Santos"
## [67,] "América" "León" "Mazatlán" "Monterrey" "Tijuana"
## [68,] "América" "León" "Mazatlán" "Santos" "Tijuana"
## [69,] "América" "León" "Monterrey" "Santos" "Tijuana"
## [70,] "América" "Mazatlán" "Monterrey" "Santos" "Tijuana"
## [71,] "Atlas" "Cruz Azul" "Guadalajara" "León" "Mazatlán"
## [72,] "Atlas" "Cruz Azul" "Guadalajara" "León" "Monterrey"
## [73,] "Atlas" "Cruz Azul" "Guadalajara" "León" "Santos"
## [74,] "Atlas" "Cruz Azul" "Guadalajara" "León" "Tijuana"
## [75,] "Atlas" "Cruz Azul" "Guadalajara" "Mazatlán" "Monterrey"
## [76,] "Atlas" "Cruz Azul" "Guadalajara" "Mazatlán" "Santos"
## [77,] "Atlas" "Cruz Azul" "Guadalajara" "Mazatlán" "Tijuana"
## [78,] "Atlas" "Cruz Azul" "Guadalajara" "Monterrey" "Santos"
## [79,] "Atlas" "Cruz Azul" "Guadalajara" "Monterrey" "Tijuana"
## [80,] "Atlas" "Cruz Azul" "Guadalajara" "Santos" "Tijuana"
## [81,] "Atlas" "Cruz Azul" "León" "Mazatlán" "Monterrey"
## [82,] "Atlas" "Cruz Azul" "León" "Mazatlán" "Santos"
## [83,] "Atlas" "Cruz Azul" "León" "Mazatlán" "Tijuana"
## [84,] "Atlas" "Cruz Azul" "León" "Monterrey" "Santos"
## [85,] "Atlas" "Cruz Azul" "León" "Monterrey" "Tijuana"
## [86,] "Atlas" "Cruz Azul" "León" "Santos" "Tijuana"
## [87,] "Atlas" "Cruz Azul" "Mazatlán" "Monterrey" "Santos"
## [88,] "Atlas" "Cruz Azul" "Mazatlán" "Monterrey" "Tijuana"
## [89,] "Atlas" "Cruz Azul" "Mazatlán" "Santos" "Tijuana"
## [90,] "Atlas" "Cruz Azul" "Monterrey" "Santos" "Tijuana"
## [91,] "Atlas" "Guadalajara" "León" "Mazatlán" "Monterrey"
## [92,] "Atlas" "Guadalajara" "León" "Mazatlán" "Santos"
## [93,] "Atlas" "Guadalajara" "León" "Mazatlán" "Tijuana"
## [94,] "Atlas" "Guadalajara" "León" "Monterrey" "Santos"
## [95,] "Atlas" "Guadalajara" "León" "Monterrey" "Tijuana"
## [96,] "Atlas" "Guadalajara" "León" "Santos" "Tijuana"
## [97,] "Atlas" "Guadalajara" "Mazatlán" "Monterrey" "Santos"
## [98,] "Atlas" "Guadalajara" "Mazatlán" "Monterrey" "Tijuana"
## [99,] "Atlas" "Guadalajara" "Mazatlán" "Santos" "Tijuana"
## [100,] "Atlas" "Guadalajara" "Monterrey" "Santos" "Tijuana"
## [101,] "Atlas" "León" "Mazatlán" "Monterrey" "Santos"
## [102,] "Atlas" "León" "Mazatlán" "Monterrey" "Tijuana"
## [103,] "Atlas" "León" "Mazatlán" "Santos" "Tijuana"
## [104,] "Atlas" "León" "Monterrey" "Santos" "Tijuana"
## [105,] "Atlas" "Mazatlán" "Monterrey" "Santos" "Tijuana"
## [106,] "Cruz Azul" "Guadalajara" "León" "Mazatlán" "Monterrey"
## [107,] "Cruz Azul" "Guadalajara" "León" "Mazatlán" "Santos"
## [108,] "Cruz Azul" "Guadalajara" "León" "Mazatlán" "Tijuana"
## [109,] "Cruz Azul" "Guadalajara" "León" "Monterrey" "Santos"
## [110,] "Cruz Azul" "Guadalajara" "León" "Monterrey" "Tijuana"
## [111,] "Cruz Azul" "Guadalajara" "León" "Santos" "Tijuana"
## [112,] "Cruz Azul" "Guadalajara" "Mazatlán" "Monterrey" "Santos"
## [113,] "Cruz Azul" "Guadalajara" "Mazatlán" "Monterrey" "Tijuana"
## [114,] "Cruz Azul" "Guadalajara" "Mazatlán" "Santos" "Tijuana"
## [115,] "Cruz Azul" "Guadalajara" "Monterrey" "Santos" "Tijuana"
## [116,] "Cruz Azul" "León" "Mazatlán" "Monterrey" "Santos"
## [117,] "Cruz Azul" "León" "Mazatlán" "Monterrey" "Tijuana"
## [118,] "Cruz Azul" "León" "Mazatlán" "Santos" "Tijuana"
## [119,] "Cruz Azul" "León" "Monterrey" "Santos" "Tijuana"
## [120,] "Cruz Azul" "Mazatlán" "Monterrey" "Santos" "Tijuana"
## [121,] "Guadalajara" "León" "Mazatlán" "Monterrey" "Santos"
## [122,] "Guadalajara" "León" "Mazatlán" "Monterrey" "Tijuana"
## [123,] "Guadalajara" "León" "Mazatlán" "Santos" "Tijuana"
## [124,] "Guadalajara" "León" "Monterrey" "Santos" "Tijuana"
## [125,] "Guadalajara" "Mazatlán" "Monterrey" "Santos" "Tijuana"
## [126,] "León" "Mazatlán" "Monterrey" "Santos" "Tijuana"
¿Para qué sirve encontrar el número de combinaciones y la forma en que se agrupan?
Eso sería el espacio muestral que ya construído éste, permite hacer interpretaciones en términos probabilísticos.
¿En cuántas ocasiones aparece el nombre de Laura en combinaciones e dos en dos?. Aparece tres ocasiones. ¿En cuántas ocasiones aparece el nombre de Oscar en las combinaciones de dos en dos?, Aparece tres ocasiones.
El resultado de las combinaciones permite construir un espacio muestral que habilita o induce conocer la cantidad de ocasiones de hay de un evento conforme a todo el espacio muestra, es decir frecuencia.
En las combinaciones de nombres de dos en dos, ¿en cuántas ocasiones existe Laura y Oscar juntos o contiguos y en ese orden?. Se utiliza la función subset() para hacer filtros y responder a las preguntas.
filtro <- subset(Cn.nombres, Cn.nombres[,1] == "Laura" & Cn.nombres[,2] == "Oscar")
filtro
## [,1] [,2]
## [1,] "Laura" "Oscar"
frecuencia <- nrow(filtro)
paste("Existen ", frecuencia, " ocasiones en que se encuentran Laura y Oscar juntos en ese orden, de un total de ", nrow(Cn.nombres), " representan ", round(frecuencia / nrow(Cn.nombres) * 100, 2), "%")
## [1] "Existen 1 ocasiones en que se encuentran Laura y Oscar juntos en ese orden, de un total de 36 representan 2.78 %"
En las combinaciones de nombres de dos en dos, ¿en cuántas ocasiones existe Oscar en la primer columna de todo el espacio muestral?
filtro <- subset(Cn.nombres, Cn.nombres[,1] == "Oscar")
filtro
## [,1] [,2]
## [1,] "Oscar" "Paco"
## [2,] "Oscar" "Paty"
## [3,] "Oscar" "Rubén"
frecuencia <- nrow(filtro)
paste("Existen ", frecuencia, " ocasiones en que se encuentran Oscar en la primer columna , de un total de ", nrow(Cn.nombres), " representan ", round(frecuencia / nrow(Cn.nombres) * 100, 2), "%")
## [1] "Existen 3 ocasiones en que se encuentran Oscar en la primer columna , de un total de 36 representan 8.33 %"
En cuántas ocasiones aparece de manera contigua y en este orden los equipos de América y Guadalajara en primera y segunda columna respectivamente.
filtro <- subset(Cn.equipos, (Cn.equipos[,1] == "América" & Cn.equipos[,2] == "Guadalajara"))
filtro
## [,1] [,2] [,3] [,4] [,5]
## [1,] "América" "Guadalajara" "León" "Mazatlán" "Monterrey"
## [2,] "América" "Guadalajara" "León" "Mazatlán" "Santos"
## [3,] "América" "Guadalajara" "León" "Mazatlán" "Tijuana"
## [4,] "América" "Guadalajara" "León" "Monterrey" "Santos"
## [5,] "América" "Guadalajara" "León" "Monterrey" "Tijuana"
## [6,] "América" "Guadalajara" "León" "Santos" "Tijuana"
## [7,] "América" "Guadalajara" "Mazatlán" "Monterrey" "Santos"
## [8,] "América" "Guadalajara" "Mazatlán" "Monterrey" "Tijuana"
## [9,] "América" "Guadalajara" "Mazatlán" "Santos" "Tijuana"
## [10,] "América" "Guadalajara" "Monterrey" "Santos" "Tijuana"
frecuencia <- nrow(filtro)
paste("Existen ", frecuencia, " aparece de manera contigua y en este orden los equipos de América y Guadalajara en la columna 1 a la 2, de un total de ", nrow(Cn.nombres), " representan ", round(frecuencia / nrow(Cn.nombres) * 100, 2), "%")
## [1] "Existen 10 aparece de manera contigua y en este orden los equipos de América y Guadalajara en la columna 1 a la 2, de un total de 36 representan 27.78 %"
En cuántas ocasiones aparece de manera contigua y en este orden los equipos de Atlas y Guadalajara en primera y segunda columna respectivamente
filtro <- subset(Cn.equipos, (Cn.equipos[,1] == "Atlas" & Cn.equipos[,2] == "Guadalajara"))
filtro
## [,1] [,2] [,3] [,4] [,5]
## [1,] "Atlas" "Guadalajara" "León" "Mazatlán" "Monterrey"
## [2,] "Atlas" "Guadalajara" "León" "Mazatlán" "Santos"
## [3,] "Atlas" "Guadalajara" "León" "Mazatlán" "Tijuana"
## [4,] "Atlas" "Guadalajara" "León" "Monterrey" "Santos"
## [5,] "Atlas" "Guadalajara" "León" "Monterrey" "Tijuana"
## [6,] "Atlas" "Guadalajara" "León" "Santos" "Tijuana"
## [7,] "Atlas" "Guadalajara" "Mazatlán" "Monterrey" "Santos"
## [8,] "Atlas" "Guadalajara" "Mazatlán" "Monterrey" "Tijuana"
## [9,] "Atlas" "Guadalajara" "Mazatlán" "Santos" "Tijuana"
## [10,] "Atlas" "Guadalajara" "Monterrey" "Santos" "Tijuana"
frecuencia <- nrow(filtro)
paste("Existen ", frecuencia, " aparece de manera contigua y en este orden los equipos de Atlas y Guadalajara en la columna 1 a la 2, de un total de ", nrow(Cn.nombres), " representan ", round(frecuencia / nrow(Cn.nombres) * 100, 2), "%")
## [1] "Existen 10 aparece de manera contigua y en este orden los equipos de Atlas y Guadalajara en la columna 1 a la 2, de un total de 36 representan 27.78 %"