Aplicar técnicas de conteo con diversos datos utilizando permutaciones y combinaciones para su adecuada interpretación.
Se aplican las técnicas de permutaciones y combinaciones con un conjunto de nombres de personas.
Se inicializa el vector de nombres y se generan el espacio muestral, rimero con permutaciones y luego con combinaciones.
Se muestra el conjunto del espacio muestral S y sus elementos.
Cargar librerías, en caso necesario
Construir los datos
Realizar permutaciones
Realizar combinaciones
Interpretar el caso
install.packages(“gtools”) e install.packages(“knitr”). La librería gtools permite generar combinaciones y permutaciones y la librería knitr a parte de importar imágenes visualiza los conjuntos de datos de manera amigable.
library(gtools)
library(knitr)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.0.4
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
El vector personas son los nombres de personas que participan en las combinaciones y permutaciones. Se utiliza el vector personas.agregadas para incluir a más personas como elementos del conjunto de datos pesonas.
personas <- c("Juan", "Paty", "Laura", "Oscar", "Aracely")
personas.agregadas <- c("Javier", "María", "Rubén", "Fernando", "Adriana")
personas <- c(personas,personas.agregadas)
personas
## [1] "Juan" "Paty" "Laura" "Oscar" "Aracely" "Javier"
## [7] "María" "Rubén" "Fernando" "Adriana"
n <- length(personas) # debe ser 10
n
## [1] 10
Para las permutaciones al igual que las combinaciones se utiliza la variable S para identificar a todos los elementos del espacio muestral. Siendo entonce S todos las combinaciones o permutaciones posibles según sea el caso a partir de los nombres de personas.
##Realizar Permutaciones con grupos de 3, 5 y 7
Se generan permutaciones en grupos de 3 en 3 a partir de los 10 nombres de personas.
El espacio muestral se almacena en la variable S y se utilizan las funciones head() y tail() para no mostrar todos los registros, y solo los primeros y últimos diez del espacio muestral.
grupos <- 3
S <- permutations(n = n,r = grupos, v=personas)
nrow(S)
## [1] 720
head(S, 10)
## [,1] [,2] [,3]
## [1,] "Adriana" "Aracely" "Fernando"
## [2,] "Adriana" "Aracely" "Javier"
## [3,] "Adriana" "Aracely" "Juan"
## [4,] "Adriana" "Aracely" "Laura"
## [5,] "Adriana" "Aracely" "María"
## [6,] "Adriana" "Aracely" "Oscar"
## [7,] "Adriana" "Aracely" "Paty"
## [8,] "Adriana" "Aracely" "Rubén"
## [9,] "Adriana" "Fernando" "Aracely"
## [10,] "Adriana" "Fernando" "Javier"
tail(S, 10)
## [,1] [,2] [,3]
## [711,] "Rubén" "Oscar" "María"
## [712,] "Rubén" "Oscar" "Paty"
## [713,] "Rubén" "Paty" "Adriana"
## [714,] "Rubén" "Paty" "Aracely"
## [715,] "Rubén" "Paty" "Fernando"
## [716,] "Rubén" "Paty" "Javier"
## [717,] "Rubén" "Paty" "Juan"
## [718,] "Rubén" "Paty" "Laura"
## [719,] "Rubén" "Paty" "María"
## [720,] "Rubén" "Paty" "Oscar"
Usando filter()
Para responder a las preguntas en permutaciones de grupos de 3, se utiliza la función filter() de la librería dplyr.
Antes de utilizar filter(), se debe convertir a data.frame el espacio muestral S. S <- data.frame(S).
Se le pone nombre a las columnas por medio de la función names() para mejor comprensión de las expresiones, names(S) <- c(“C1,” “C2,” “C3”).
S <- data.frame(S)
names(S) <- c("C1", "C2", "C3")
paste("¿En cuántos casos sale el nombre de “Laura” en la primera posición, en la primera columna [,1]?", nrow(filter(S, C1 == "Laura")))
## [1] "¿En cuántos casos sale el nombre de “Laura” en la primera posición, en la primera columna [,1]? 72"
paste("¿Cuántas ocasiones aparece “Aracely” en segundo lugar?, en la segunda columna [,2]?", nrow(filter(S, C2 == "Aracely")))
## [1] "¿Cuántas ocasiones aparece “Aracely” en segundo lugar?, en la segunda columna [,2]? 72"
paste("¿Cuántas permutaciones se generan?, nrow(), o cuántas observciones?, el último registro del espacio muestral.", nrow(S))
## [1] "¿Cuántas permutaciones se generan?, nrow(), o cuántas observciones?, el último registro del espacio muestral. 720"
Usando which()
Se pudo haber usado la función which() combinado con la función length()
paste("¿En cuántos casos sale el nombre de “Laura” en la primera posición, en la primera columna [,1]?", length(which(S[,1] == "Laura")))
## [1] "¿En cuántos casos sale el nombre de “Laura” en la primera posición, en la primera columna [,1]? 72"
paste("¿Cuántas ocasiones aparece “Aracely” en segundo lugar?, en la segunda columna [,2]?", length(which(S[,2] == "Aracely")))
## [1] "¿Cuántas ocasiones aparece “Aracely” en segundo lugar?, en la segunda columna [,2]? 72"
paste("¿Cuántas permutaciones se generan?, nrow(), o cuántas observciones?, el último registro del espacio muestral.", nrow(S))
## [1] "¿Cuántas permutaciones se generan?, nrow(), o cuántas observciones?, el último registro del espacio muestral. 720"
Usando subset()
También se puede usar la función subset() para filtrar y responder a las preguntas.
paste("¿En cuántos casos sale el nombre de “Laura” en la primera posición, en la primera columna [,1]?", nrow(subset(S, C1 == "Laura")))
## [1] "¿En cuántos casos sale el nombre de “Laura” en la primera posición, en la primera columna [,1]? 72"
paste("¿Cuántas ocasiones aparece “Aracely” en segundo lugar?, en la segunda columna [,2]?", nrow(subset(S, C2 == "Aracely")))
## [1] "¿Cuántas ocasiones aparece “Aracely” en segundo lugar?, en la segunda columna [,2]? 72"
paste("¿Cuántas permutaciones se generan?, nrow(), o cuántas observciones?, el último registro del espacio muestral.", nrow(S))
## [1] "¿Cuántas permutaciones se generan?, nrow(), o cuántas observciones?, el último registro del espacio muestral. 720"
Para responder a las preguntas de la interpretación que más adelante se hacen de este caso, se puede usar los bloques de código anteriores, se puede resolver las preguntas ya sea por medio de filter() o por medio de which() o por medio de subset(). Será decisión del lector usar alguna de ellas.
Permutaciones de 5
grupos <- 5
S <- permutations(n = n,r = grupos, v=personas)
nrow(S)
## [1] 30240
head(S, 10)
## [,1] [,2] [,3] [,4] [,5]
## [1,] "Adriana" "Aracely" "Fernando" "Javier" "Juan"
## [2,] "Adriana" "Aracely" "Fernando" "Javier" "Laura"
## [3,] "Adriana" "Aracely" "Fernando" "Javier" "María"
## [4,] "Adriana" "Aracely" "Fernando" "Javier" "Oscar"
## [5,] "Adriana" "Aracely" "Fernando" "Javier" "Paty"
## [6,] "Adriana" "Aracely" "Fernando" "Javier" "Rubén"
## [7,] "Adriana" "Aracely" "Fernando" "Juan" "Javier"
## [8,] "Adriana" "Aracely" "Fernando" "Juan" "Laura"
## [9,] "Adriana" "Aracely" "Fernando" "Juan" "María"
## [10,] "Adriana" "Aracely" "Fernando" "Juan" "Oscar"
tail(S, 10)
## [,1] [,2] [,3] [,4] [,5]
## [30231,] "Rubén" "Paty" "Oscar" "Laura" "Fernando"
## [30232,] "Rubén" "Paty" "Oscar" "Laura" "Javier"
## [30233,] "Rubén" "Paty" "Oscar" "Laura" "Juan"
## [30234,] "Rubén" "Paty" "Oscar" "Laura" "María"
## [30235,] "Rubén" "Paty" "Oscar" "María" "Adriana"
## [30236,] "Rubén" "Paty" "Oscar" "María" "Aracely"
## [30237,] "Rubén" "Paty" "Oscar" "María" "Fernando"
## [30238,] "Rubén" "Paty" "Oscar" "María" "Javier"
## [30239,] "Rubén" "Paty" "Oscar" "María" "Juan"
## [30240,] "Rubén" "Paty" "Oscar" "María" "Laura"
Permutaciones de 7
grupos <- 7
S <- permutations(n = n,r = grupos, v=personas)
nrow(S)
## [1] 604800
head(S, 10)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "María"
## [2,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "Oscar"
## [3,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "Paty"
## [4,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "Rubén"
## [5,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "María" "Laura"
## [6,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "María" "Oscar"
## [7,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "María" "Paty"
## [8,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "María" "Rubén"
## [9,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Oscar" "Laura"
## [10,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Oscar" "María"
tail(S, 10)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [604791,] "Rubén" "Paty" "Oscar" "María" "Laura" "Fernando" "Javier"
## [604792,] "Rubén" "Paty" "Oscar" "María" "Laura" "Fernando" "Juan"
## [604793,] "Rubén" "Paty" "Oscar" "María" "Laura" "Javier" "Adriana"
## [604794,] "Rubén" "Paty" "Oscar" "María" "Laura" "Javier" "Aracely"
## [604795,] "Rubén" "Paty" "Oscar" "María" "Laura" "Javier" "Fernando"
## [604796,] "Rubén" "Paty" "Oscar" "María" "Laura" "Javier" "Juan"
## [604797,] "Rubén" "Paty" "Oscar" "María" "Laura" "Juan" "Adriana"
## [604798,] "Rubén" "Paty" "Oscar" "María" "Laura" "Juan" "Aracely"
## [604799,] "Rubén" "Paty" "Oscar" "María" "Laura" "Juan" "Fernando"
## [604800,] "Rubén" "Paty" "Oscar" "María" "Laura" "Juan" "Javier"
Se utiliza también la variable S para identificar al especio meustral o experimentos posibles en las combinaciones.
grupos <- 4
S <- combinations(n = n,r = grupos, personas)
head(S,10)
## [,1] [,2] [,3] [,4]
## [1,] "Adriana" "Aracely" "Fernando" "Javier"
## [2,] "Adriana" "Aracely" "Fernando" "Juan"
## [3,] "Adriana" "Aracely" "Fernando" "Laura"
## [4,] "Adriana" "Aracely" "Fernando" "María"
## [5,] "Adriana" "Aracely" "Fernando" "Oscar"
## [6,] "Adriana" "Aracely" "Fernando" "Paty"
## [7,] "Adriana" "Aracely" "Fernando" "Rubén"
## [8,] "Adriana" "Aracely" "Javier" "Juan"
## [9,] "Adriana" "Aracely" "Javier" "Laura"
## [10,] "Adriana" "Aracely" "Javier" "María"
tail(S,10)
## [,1] [,2] [,3] [,4]
## [201,] "Juan" "Laura" "Paty" "Rubén"
## [202,] "Juan" "María" "Oscar" "Paty"
## [203,] "Juan" "María" "Oscar" "Rubén"
## [204,] "Juan" "María" "Paty" "Rubén"
## [205,] "Juan" "Oscar" "Paty" "Rubén"
## [206,] "Laura" "María" "Oscar" "Paty"
## [207,] "Laura" "María" "Oscar" "Rubén"
## [208,] "Laura" "María" "Paty" "Rubén"
## [209,] "Laura" "Oscar" "Paty" "Rubén"
## [210,] "María" "Oscar" "Paty" "Rubén"
filter()
Como en las permutaciones primero se convierte a data.frame el espacio muestral y se le incorpora nombres a las columnas para su mejor procesamiento y comprensión. names(S) <- c(“C1,” “C2,” “C3,” “C4”).
S <- data.frame(S)
names(S) <- c("C1", "C2", "C3", "C4")
res <- filter(S, (C1 == "Aracely" & C2 == "Laura") | (C2 == "Aracely" & C3 == "Laura") | (C3 == "Aracely" & C4 == "Laura"))
paste("¿En cuántas ocasiones se identifican los nombres de 'Aracely' y 'Laura' de manera contigua en ese orden 'Aracely, 'Laura'?", nrow(res))
## [1] "¿En cuántas ocasiones se identifican los nombres de 'Aracely' y 'Laura' de manera contigua en ese orden 'Aracely, 'Laura'? 10"
paste("¿Cuántas ocasiones aparece 'Aracely' en primer lugar?", nrow(filter(S,C1 == "Aracely") ))
## [1] "¿Cuántas ocasiones aparece 'Aracely' en primer lugar? 56"
paste("¿Cuántas combinaciones se generan en grupos de 4?", nrow(S))
## [1] "¿Cuántas combinaciones se generan en grupos de 4? 210"
which()
res <- which((S[,1] == "Aracely" & S[,2] == "Laura") | (S[,2] == "Aracely" & S[,3] == "Laura") | (S[,3] == "Aracely" & S[,4] == "Laura"))
paste("¿En cuántas ocasiones se identifican los nombres de 'Aracely' y 'Laura' de manera contigua en ese orden 'Aracely, 'Laura'?", length(res))
## [1] "¿En cuántas ocasiones se identifican los nombres de 'Aracely' y 'Laura' de manera contigua en ese orden 'Aracely, 'Laura'? 10"
paste("¿Cuántas ocasiones aparece 'Aracely' en primer lugar?", length(which(S[,1] == "Aracely") ))
## [1] "¿Cuántas ocasiones aparece 'Aracely' en primer lugar? 56"
paste("¿Cuántas combinaciones se generan en grupos de 4?", nrow(S))
## [1] "¿Cuántas combinaciones se generan en grupos de 4? 210"
subset()
res <- subset(S, (C1 == "Aracely" & C2 == "Laura") | (C2 == "Aracely" & C3 == "Laura") | (C3 == "Aracely" & C4 == "Laura"))
paste("¿En cuántas ocasiones se identifican los nombres de 'Aracely' y 'Laura' de manera contigua en ese orden 'Aracely, 'Laura'?", nrow(res))
## [1] "¿En cuántas ocasiones se identifican los nombres de 'Aracely' y 'Laura' de manera contigua en ese orden 'Aracely, 'Laura'? 10"
paste("¿Cuántas ocasiones aparece 'Aracely' en primer lugar?", nrow(subset(S,C1 == "Aracely") ))
## [1] "¿Cuántas ocasiones aparece 'Aracely' en primer lugar? 56"
paste("¿Cuántas combinaciones se generan en grupos de 4?", nrow(S))
## [1] "¿Cuántas combinaciones se generan en grupos de 4? 210"
grupos <- 6
S <- combinations(n = n,r = grupos, personas)
head(S,10)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura"
## [2,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "María"
## [3,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Oscar"
## [4,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Paty"
## [5,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Rubén"
## [6,] "Adriana" "Aracely" "Fernando" "Javier" "Laura" "María"
## [7,] "Adriana" "Aracely" "Fernando" "Javier" "Laura" "Oscar"
## [8,] "Adriana" "Aracely" "Fernando" "Javier" "Laura" "Paty"
## [9,] "Adriana" "Aracely" "Fernando" "Javier" "Laura" "Rubén"
## [10,] "Adriana" "Aracely" "Fernando" "Javier" "María" "Oscar"
tail(S,10)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [201,] "Fernando" "Juan" "Laura" "Oscar" "Paty" "Rubén"
## [202,] "Fernando" "Juan" "María" "Oscar" "Paty" "Rubén"
## [203,] "Fernando" "Laura" "María" "Oscar" "Paty" "Rubén"
## [204,] "Javier" "Juan" "Laura" "María" "Oscar" "Paty"
## [205,] "Javier" "Juan" "Laura" "María" "Oscar" "Rubén"
## [206,] "Javier" "Juan" "Laura" "María" "Paty" "Rubén"
## [207,] "Javier" "Juan" "Laura" "Oscar" "Paty" "Rubén"
## [208,] "Javier" "Juan" "María" "Oscar" "Paty" "Rubén"
## [209,] "Javier" "Laura" "María" "Oscar" "Paty" "Rubén"
## [210,] "Juan" "Laura" "María" "Oscar" "Paty" "Rubén"
grupos <- 8
S <- combinations(n = n,r = grupos, personas)
head(S,10)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "María" "Oscar"
## [2,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "María" "Paty"
## [3,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "María" "Rubén"
## [4,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "Oscar" "Paty"
## [5,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "Oscar" "Rubén"
## [6,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Laura" "Paty" "Rubén"
## [7,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "María" "Oscar" "Paty"
## [8,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "María" "Oscar" "Rubén"
## [9,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "María" "Paty" "Rubén"
## [10,] "Adriana" "Aracely" "Fernando" "Javier" "Juan" "Oscar" "Paty" "Rubén"
tail(S,10)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [36,] "Adriana" "Javier" "Juan" "Laura" "María" "Oscar" "Paty" "Rubén"
## [37,] "Aracely" "Fernando" "Javier" "Juan" "Laura" "María" "Oscar" "Paty"
## [38,] "Aracely" "Fernando" "Javier" "Juan" "Laura" "María" "Oscar" "Rubén"
## [39,] "Aracely" "Fernando" "Javier" "Juan" "Laura" "María" "Paty" "Rubén"
## [40,] "Aracely" "Fernando" "Javier" "Juan" "Laura" "Oscar" "Paty" "Rubén"
## [41,] "Aracely" "Fernando" "Javier" "Juan" "María" "Oscar" "Paty" "Rubén"
## [42,] "Aracely" "Fernando" "Javier" "Laura" "María" "Oscar" "Paty" "Rubén"
## [43,] "Aracely" "Fernando" "Juan" "Laura" "María" "Oscar" "Paty" "Rubén"
## [44,] "Aracely" "Javier" "Juan" "Laura" "María" "Oscar" "Paty" "Rubén"
## [45,] "Fernando" "Javier" "Juan" "Laura" "María" "Oscar" "Paty" "Rubén"
Se responde a las preguntas guías del caso de manera descriptiva.
Se interpreta los resultados de las permutaciones
a ¿En cuántos casos sale el nombre de “Laura” en la primera posición, en la primera columna [,1]?
b ¿Cuántas ocasiones aparece “Aracely” en segundo lugar?, en la segunda columna [,2]?
c ¿Cuántas permutaciones se generan?, nrow(), o el ultimo registro del espacio muestral.
a 0
b 8
c 720
a ¿En cuántos casos sale el nombre de “Laura” en la primera posición?
b ¿Cuántas ocasiones aparece “Aracely” en segundo lugar?
c ¿Cuántas permutaciones se generan?
a 0
b 10
c 30240
a ¿En cuántos casos sale el nombre de “Laura” en la primera posición?
b ¿Cuántas ocasiones aparece “Aracely” en segundo lugar?
c ¿Cuántas permutaciones se generan?
a 0
b 10
c 604800
Se interpreta el resultado de las combinaciones
a ¿En cuántas ocasiones se identifican los nombres de “Aracely” y “Laura” de manera contigua en ese orden “Aracely,” “Laura?”
b ¿Cuántas ocasiones aparece “Aracely” en primer lugar?
c ¿Cuántas combinaciones se generan en grupos de 4?
a 10
b 56
c 210
a ¿En cuántos casos aparece los nombres de “Oscar” “Paty” de manera contigua en ese orden?. Pueden er en las columnas [,1:2]; o columnas [,2:3]; o columnas [,3:4]; o en las columnas [,4:5]
b ¿Cuántas ocasiones aparece “Laura” en primer lugar o en la primer columnas [,1]?
c ¿Cuántas combinaciones se generan?
a 35
b 0
c 210
a ¿En cuántos casos aparece los nombres de “Oscar” “Paty” de manera contigua en ese orden?
b ¿Cuántas ocasiones aparece “Aracely” en primer lugar o en la primer colunas [,1]?
c ¿Cuántas combinaciones se generan?
a 0
b 8
c 45
Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. 2008. Estadística Para Administración y Economía. 10th ed. Australia Brasil Corea España Estados Unidos Japón México Reino Unido Singapur: Cengage Learning,. Devore, Jay L. 2016. Fundamentos de Probabilidad y Estadística. Primera Edición. CENGAGE. Mendenhall, William, Robert J. Beaver, and Barbara M. Beaver. 2006. Introducción a La Probabilidad y Estadística. 13a Edición. Walpole, Ronald E., Raymond H. Myers, and Sharon L. Myers. 2012. Probabilidad y Estadística Para Ingeniería y Ciencias. Novena Edición. México: Pearson.