Cálculo de probabilidades

Cargar librerias

library(gtools) # Permutaciones
## Warning: package 'gtools' was built under R version 3.6.3
library(knitr)  # Para kable() para que se vea mas amigable
## Warning: package 'knitr' was built under R version 3.6.3

Simular el lanzamiento de los dados

dados <- data.frame(permutations(6, 3, repeats.allowed = TRUE))
dados
##     X1 X2 X3
## 1    1  1  1
## 2    1  1  2
## 3    1  1  3
## 4    1  1  4
## 5    1  1  5
## 6    1  1  6
## 7    1  2  1
## 8    1  2  2
## 9    1  2  3
## 10   1  2  4
## 11   1  2  5
## 12   1  2  6
## 13   1  3  1
## 14   1  3  2
## 15   1  3  3
## 16   1  3  4
## 17   1  3  5
## 18   1  3  6
## 19   1  4  1
## 20   1  4  2
## 21   1  4  3
## 22   1  4  4
## 23   1  4  5
## 24   1  4  6
## 25   1  5  1
## 26   1  5  2
## 27   1  5  3
## 28   1  5  4
## 29   1  5  5
## 30   1  5  6
## 31   1  6  1
## 32   1  6  2
## 33   1  6  3
## 34   1  6  4
## 35   1  6  5
## 36   1  6  6
## 37   2  1  1
## 38   2  1  2
## 39   2  1  3
## 40   2  1  4
## 41   2  1  5
## 42   2  1  6
## 43   2  2  1
## 44   2  2  2
## 45   2  2  3
## 46   2  2  4
## 47   2  2  5
## 48   2  2  6
## 49   2  3  1
## 50   2  3  2
## 51   2  3  3
## 52   2  3  4
## 53   2  3  5
## 54   2  3  6
## 55   2  4  1
## 56   2  4  2
## 57   2  4  3
## 58   2  4  4
## 59   2  4  5
## 60   2  4  6
## 61   2  5  1
## 62   2  5  2
## 63   2  5  3
## 64   2  5  4
## 65   2  5  5
## 66   2  5  6
## 67   2  6  1
## 68   2  6  2
## 69   2  6  3
## 70   2  6  4
## 71   2  6  5
## 72   2  6  6
## 73   3  1  1
## 74   3  1  2
## 75   3  1  3
## 76   3  1  4
## 77   3  1  5
## 78   3  1  6
## 79   3  2  1
## 80   3  2  2
## 81   3  2  3
## 82   3  2  4
## 83   3  2  5
## 84   3  2  6
## 85   3  3  1
## 86   3  3  2
## 87   3  3  3
## 88   3  3  4
## 89   3  3  5
## 90   3  3  6
## 91   3  4  1
## 92   3  4  2
## 93   3  4  3
## 94   3  4  4
## 95   3  4  5
## 96   3  4  6
## 97   3  5  1
## 98   3  5  2
## 99   3  5  3
## 100  3  5  4
## 101  3  5  5
## 102  3  5  6
## 103  3  6  1
## 104  3  6  2
## 105  3  6  3
## 106  3  6  4
## 107  3  6  5
## 108  3  6  6
## 109  4  1  1
## 110  4  1  2
## 111  4  1  3
## 112  4  1  4
## 113  4  1  5
## 114  4  1  6
## 115  4  2  1
## 116  4  2  2
## 117  4  2  3
## 118  4  2  4
## 119  4  2  5
## 120  4  2  6
## 121  4  3  1
## 122  4  3  2
## 123  4  3  3
## 124  4  3  4
## 125  4  3  5
## 126  4  3  6
## 127  4  4  1
## 128  4  4  2
## 129  4  4  3
## 130  4  4  4
## 131  4  4  5
## 132  4  4  6
## 133  4  5  1
## 134  4  5  2
## 135  4  5  3
## 136  4  5  4
## 137  4  5  5
## 138  4  5  6
## 139  4  6  1
## 140  4  6  2
## 141  4  6  3
## 142  4  6  4
## 143  4  6  5
## 144  4  6  6
## 145  5  1  1
## 146  5  1  2
## 147  5  1  3
## 148  5  1  4
## 149  5  1  5
## 150  5  1  6
## 151  5  2  1
## 152  5  2  2
## 153  5  2  3
## 154  5  2  4
## 155  5  2  5
## 156  5  2  6
## 157  5  3  1
## 158  5  3  2
## 159  5  3  3
## 160  5  3  4
## 161  5  3  5
## 162  5  3  6
## 163  5  4  1
## 164  5  4  2
## 165  5  4  3
## 166  5  4  4
## 167  5  4  5
## 168  5  4  6
## 169  5  5  1
## 170  5  5  2
## 171  5  5  3
## 172  5  5  4
## 173  5  5  5
## 174  5  5  6
## 175  5  6  1
## 176  5  6  2
## 177  5  6  3
## 178  5  6  4
## 179  5  6  5
## 180  5  6  6
## 181  6  1  1
## 182  6  1  2
## 183  6  1  3
## 184  6  1  4
## 185  6  1  5
## 186  6  1  6
## 187  6  2  1
## 188  6  2  2
## 189  6  2  3
## 190  6  2  4
## 191  6  2  5
## 192  6  2  6
## 193  6  3  1
## 194  6  3  2
## 195  6  3  3
## 196  6  3  4
## 197  6  3  5
## 198  6  3  6
## 199  6  4  1
## 200  6  4  2
## 201  6  4  3
## 202  6  4  4
## 203  6  4  5
## 204  6  4  6
## 205  6  5  1
## 206  6  5  2
## 207  6  5  3
## 208  6  5  4
## 209  6  5  5
## 210  6  5  6
## 211  6  6  1
## 212  6  6  2
## 213  6  6  3
## 214  6  6  4
## 215  6  6  5
## 216  6  6  6

Encontrar las sumas y frecuencias

sumar.dados <- apply(dados, MARGIN = 1, FUN = sum)
sumar.dados
##   [1]  3  4  5  6  7  8  4  5  6  7  8  9  5  6  7  8  9 10  6  7  8  9 10 11  7
##  [26]  8  9 10 11 12  8  9 10 11 12 13  4  5  6  7  8  9  5  6  7  8  9 10  6  7
##  [51]  8  9 10 11  7  8  9 10 11 12  8  9 10 11 12 13  9 10 11 12 13 14  5  6  7
##  [76]  8  9 10  6  7  8  9 10 11  7  8  9 10 11 12  8  9 10 11 12 13  9 10 11 12
## [101] 13 14 10 11 12 13 14 15  6  7  8  9 10 11  7  8  9 10 11 12  8  9 10 11 12
## [126] 13  9 10 11 12 13 14 10 11 12 13 14 15 11 12 13 14 15 16  7  8  9 10 11 12
## [151]  8  9 10 11 12 13  9 10 11 12 13 14 10 11 12 13 14 15 11 12 13 14 15 16 12
## [176] 13 14 15 16 17  8  9 10 11 12 13  9 10 11 12 13 14 10 11 12 13 14 15 11 12
## [201] 13 14 15 16 12 13 14 15 16 17 13 14 15 16 17 18
frecuencia_sumas <- as.data.frame((table(sumar.dados)))

class(frecuencia_sumas)
## [1] "data.frame"
frecuencia_sumas <- as.data.frame((table(sumar.dados)))

class(frecuencia_sumas)
## [1] "data.frame"
frecuencia_sumas$sumar.dados
##  [1] 3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18
## Levels: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
frecuencia_sumas$Freq
##  [1]  1  3  6 10 15 21 25 27 27 25 21 15 10  6  3  1
x <- as.numeric(as.vector(frecuencia_sumas$sumar.dados))
x
##  [1]  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
frecuencia <-as.numeric(as.vector(frecuencia_sumas$Freq))
frecuencia
##  [1]  1  3  6 10 15 21 25 27 27 25 21 15 10  6  3  1
n <- sum(frecuencia)
n
## [1] 216
  1. Identificar los valores de x y de probabilidad de x en la tabla de distribución mediante permutaciones
x
##  [1]  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
prob.x <- frecuencia / n
prob.x
##  [1] 0.00462963 0.01388889 0.02777778 0.04629630 0.06944444 0.09722222
##  [7] 0.11574074 0.12500000 0.12500000 0.11574074 0.09722222 0.06944444
## [13] 0.04629630 0.02777778 0.01388889 0.00462963
  1. Determinar valor esperado ∑xp(x)
v.e <- sum(x * prob.x)
v.e
## [1] 10.5
  1. Determinar la probabilidad acumulada F(X) de x
prob.acum.x <- c(sum(prob.x[1]), sum(prob.x[1:2]), sum(prob.x[1:3]), sum(prob.x[1:4]), sum(prob.x[1:5]),
sum(prob.x[1:6]), sum(prob.x[1:7]),
sum(prob.x[1:8]), sum(prob.x[1:9]),
sum(prob.x[1:10]), sum(prob.x[1:11]),
sum(prob.x[1:12]), sum(prob.x[1:13]),
 sum(prob.x[1:14]), sum(prob.x[1:15]),
sum(prob.x[1:16]))
prob.acum.x
##  [1] 0.00462963 0.01851852 0.04629630 0.09259259 0.16203704 0.25925926
##  [7] 0.37500000 0.50000000 0.62500000 0.74074074 0.83796296 0.90740741
## [13] 0.95370370 0.98148148 0.99537037 1.00000000
  1. Determinar y visualizar la tabla de distribución de probabilidad con columnas

x p(x) F(x) xp(x) (x−μ)2) (x−μ)2p(x)

tabla <- data.frame(1:16, x, frecuencia, prob.x, prob.acum.x, x * prob.x, (x - v.e) ^ 2, (x - v.e) ^ 2 * prob.x)

colnames(tabla) <- c("pos","x", "frec","prob.x", "prob.acum.x", "x.prob.x", "x-v.e^2", "x-v.e^2prob.x")

kable(tabla)
pos x frec prob.x prob.acum.x x.prob.x x-v.e^2 x-v.e^2prob.x
1 3 1 0.0046296 0.0046296 0.0138889 56.25 0.2604167
2 4 3 0.0138889 0.0185185 0.0555556 42.25 0.5868056
3 5 6 0.0277778 0.0462963 0.1388889 30.25 0.8402778
4 6 10 0.0462963 0.0925926 0.2777778 20.25 0.9375000
5 7 15 0.0694444 0.1620370 0.4861111 12.25 0.8506944
6 8 21 0.0972222 0.2592593 0.7777778 6.25 0.6076389
7 9 25 0.1157407 0.3750000 1.0416667 2.25 0.2604167
8 10 27 0.1250000 0.5000000 1.2500000 0.25 0.0312500
9 11 27 0.1250000 0.6250000 1.3750000 0.25 0.0312500
10 12 25 0.1157407 0.7407407 1.3888889 2.25 0.2604167
11 13 21 0.0972222 0.8379630 1.2638889 6.25 0.6076389
12 14 15 0.0694444 0.9074074 0.9722222 12.25 0.8506944
13 15 10 0.0462963 0.9537037 0.6944444 20.25 0.9375000
14 16 6 0.0277778 0.9814815 0.4444444 30.25 0.8402778
15 17 3 0.0138889 0.9953704 0.2361111 42.25 0.5868056
16 18 1 0.0046296 1.0000000 0.0833333 56.25 0.2604167
  1. Visualizar la gráfica de barra de la variable aleatoria x con respecto a su probabilid
barplot(height = prob.x, names.arg = x)

  1. Visualizar la gráfica de la probabilidad acumulada F(x)
plot(x,prob.acum.x, type = 'b')

  1. Determinar varianza σ2=∑(x−μ)2p(x)
var <- sum((x - v.e) ^ 2 * prob.x)
var
## [1] 8.75
  1. Determinar desviación std σ=√σ2
desv.std <- sqrt(var)
desv.std
## [1] 2.95804

Cálculo de probabilidades

kable(tabla[,c(1,2,4,5)])

  1. ¿Cual es la probabilidad de que la suma sea MENOR O IGUAL A SEIS?
i=1 
i=min(tabla$x) - tabla$pos[1]
i
## [1] 2
  1. ¿Cuál es la probabilidad de que la suma sea DIEZ O MAS ?
tabla$prob.acum.x[6-i]
## [1] 0.09259259
  1. ¿Cuál es la probabilidad de que la suma esté entre CINCO y DIEZ ?
(tabla$prob.acum.x[10-i] - tabla$prob.acum[4-i])
## [1] 0.4814815
  1. ¿Cuál es la probabilidad de que la suma SEA MAYOR QUE ONCE?
1 - tabla$prob.acum.x[11-i]
## [1] 0.375