Caso: Cuatro monedas. Permutaciones y Probabilidades

Objetivo

Determinar probabilidades

Descripción

Ejercicio 4.5. Cuatro monedas. Un frasco contiene cuatro monedas: una de 5, una de 10, una de 25 y una de 50 centavos. Se seleccionan al azar tres monedas del frasco. (Mendenhall, Beaver & Beaver, 2010], p.135)

library(knitr) # Para poder cargar la imagen jpg
include_graphics("../imagenes/frasco con monedas.jpg")

Proceso

  1. Interpretación del caso

1. Cargar librerías

  • Se carga la librería dplyr para filtrar, seleccionar, generr nuevas variables (mutate) de un conjunto de datos o data.frame
  • Se carga la librería gtools para determnar permutaciones y combinaciones
  • Se carga la librería knitr para imágenes y tablas
library(dplyr)   
library(gtools)  
library(knitr)

2. Definir lista de los eventos simples en S.

\(S=\{5,10,25,50\}\)

S <- c(5,10,25,50)

3. ¿Cuál es la probabilidad de que la selección contenga la moneda de 50 centavos?

  • length() determina el número de elemenos (cuantos) de un vector S
  • Los [] determina la posición del valor comparado
  • which() identifica cuales elementos corresponden a una expresión S==50
n <- length(S)
cuantas <- length(S[which(S==50)])
prob <- cuantas / n
paste("La probabilidad de que la selección contenga la moneda de 50 centavos es: 1 /",n, " o sea: ", prob, " o ", prob * 100, "%")
## [1] "La probabilidad de que la selección contenga la moneda de 50 centavos es: 1 / 4  o sea:  0.25  o  25 %"

4. ¿Cuál es la probabilidad de que la suma total sacada sea igual a 60 centavos o más?

  • Valores iniciales de n y r
  • n es el total elementos. El valor de \(n=4\)
  • r es de cuantos en cuantos o grupos para las permutaciones, de \(r=3\).
n <- length(S)
r <- 3 
  • Hacer las permutaciones posibles
permuta <- permutations(n,r,S)
permuta
##       [,1] [,2] [,3]
##  [1,]    5   10   25
##  [2,]    5   10   50
##  [3,]    5   25   10
##  [4,]    5   25   50
##  [5,]    5   50   10
##  [6,]    5   50   25
##  [7,]   10    5   25
##  [8,]   10    5   50
##  [9,]   10   25    5
## [10,]   10   25   50
## [11,]   10   50    5
## [12,]   10   50   25
## [13,]   25    5   10
## [14,]   25    5   50
## [15,]   25   10    5
## [16,]   25   10   50
## [17,]   25   50    5
## [18,]   25   50   10
## [19,]   50    5   10
## [20,]   50    5   25
## [21,]   50   10    5
## [22,]   50   10   25
## [23,]   50   25    5
## [24,]   50   25   10
  • Con las permutaciones sacar la suma de cada renglón,
  • Conviertiendo antes las permutaciones a data.frame para su mejor trato.
  • Poner nombres a las columnas como moneda1, moneda2, y moneda3 c(‘m1’, ‘m2’, ‘m3’),
  • Se construye la columna suma median ela función mutate
permuta <- data.frame(permuta)  # Se convierte a data.frame
names(permuta) <- c('m1', 'm2', 'm3')
permuta <- mutate(permuta, suma = m1 + m2 + m3) # Genera nueva columna
permuta
##    m1 m2 m3 suma
## 1   5 10 25   40
## 2   5 10 50   65
## 3   5 25 10   40
## 4   5 25 50   80
## 5   5 50 10   65
## 6   5 50 25   80
## 7  10  5 25   40
## 8  10  5 50   65
## 9  10 25  5   40
## 10 10 25 50   85
## 11 10 50  5   65
## 12 10 50 25   85
## 13 25  5 10   40
## 14 25  5 50   80
## 15 25 10  5   40
## 16 25 10 50   85
## 17 25 50  5   80
## 18 25 50 10   85
## 19 50  5 10   65
## 20 50  5 25   80
## 21 50 10  5   65
## 22 50 10 25   85
## 23 50 25  5   80
## 24 50 25 10   85
paste("Número de casos posibles de permutaciones", nrow(permuta))
## [1] "Número de casos posibles de permutaciones 24"
  • Se determinan el conjunto de opciones posibles para suma mayor o igual a 60 con la función filter()
  • Se determinan cuales y cuantas
cuales <- filter(permuta, suma >= 60)
cuales
##    m1 m2 m3 suma
## 1   5 10 50   65
## 2   5 25 50   80
## 3   5 50 10   65
## 4   5 50 25   80
## 5  10  5 50   65
## 6  10 25 50   85
## 7  10 50  5   65
## 8  10 50 25   85
## 9  25  5 50   80
## 10 25 10 50   85
## 11 25 50  5   80
## 12 25 50 10   85
## 13 50  5 10   65
## 14 50  5 25   80
## 15 50 10  5   65
## 16 50 10 25   85
## 17 50 25  5   80
## 18 50 25 10   85
cuantas <- nrow(cuales)
paste("En ", cuantas, " ocasiones la suma es 60 o mas de ", nrow(permuta), " posibles ")
## [1] "En  18  ocasiones la suma es 60 o mas de  24  posibles "
paste("La probabilidad de que la suma sea 60 o mas es del ", cuantas , "/", nrow(permuta), " o sea", cuantas / nrow(permuta), " que significa el:", cuantas / nrow(permuta) * 100, " % ")
## [1] "La probabilidad de que la suma sea 60 o mas es del  18 / 24  o sea 0.75  que significa el: 75  % "

A realizar: