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

Encontrar las sumas y frecuencias

sumar.dados <- apply(dados, MARGIN = 1, FUN = sum)
sumar.dados
##   [1]  6  8 10 12 14 16  8 10 12 14 16 18 10 12 14 16 18 20 12 14 16 18 20 22 14
##  [26] 16 18 20 22 24 16 18 20 22 24 26  8 10 12 14 16 18 10 12 14 16 18 20 12 14
##  [51] 16 18 20 22 14 16 18 20 22 24 16 18 20 22 24 26 18 20 22 24 26 28 10 12 14
##  [76] 16 18 20 12 14 16 18 20 22 14 16 18 20 22 24 16 18 20 22 24 26 18 20 22 24
## [101] 26 28 20 22 24 26 28 30 12 14 16 18 20 22 14 16 18 20 22 24 16 18 20 22 24
## [126] 26 18 20 22 24 26 28 20 22 24 26 28 30 22 24 26 28 30 32 14 16 18 20 22 24
## [151] 16 18 20 22 24 26 18 20 22 24 26 28 20 22 24 26 28 30 22 24 26 28 30 32 24
## [176] 26 28 30 32 34 16 18 20 22 24 26 18 20 22 24 26 28 20 22 24 26 28 30 22 24
## [201] 26 28 30 32 24 26 28 30 32 34 26 28 30 32 34 36
frecuencia_sumas <- as.data.frame((table(sumar.dados)))

class(frecuencia_sumas)
## [1] "data.frame"
colnames(frecuencia_sumas)
## [1] "sumar.dados" "Freq"
frecuencia_sumas$sumar.dados
##  [1] 6  8  10 12 14 16 18 20 22 24 26 28 30 32 34 36
## Levels: 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
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]  6  8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
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 xen la tabla de distribución mediante permutaciones…

x
##  [1]  6  8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
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
sum(prob.x)
## [1] 1

2. Determinar valor esperado ∑xp(x)

v.e <- sum(x * prob.x)
v.e
## [1] 21

3. Determinar la probabilidad acumulada F(X) de p(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

4. Determinar y visualizar la tabla de distribución de probabilidad con columnas de

pos x Freq 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 6 1 0.0046296 0.0046296 0.0277778 225 1.041667
2 8 3 0.0138889 0.0185185 0.1111111 169 2.347222
3 10 6 0.0277778 0.0462963 0.2777778 121 3.361111
4 12 10 0.0462963 0.0925926 0.5555556 81 3.750000
5 14 15 0.0694444 0.1620370 0.9722222 49 3.402778
6 16 21 0.0972222 0.2592593 1.5555556 25 2.430556
7 18 25 0.1157407 0.3750000 2.0833333 9 1.041667
8 20 27 0.1250000 0.5000000 2.5000000 1 0.125000
9 22 27 0.1250000 0.6250000 2.7500000 1 0.125000
10 24 25 0.1157407 0.7407407 2.7777778 9 1.041667
11 26 21 0.0972222 0.8379630 2.5277778 25 2.430556
12 28 15 0.0694444 0.9074074 1.9444444 49 3.402778
13 30 10 0.0462963 0.9537037 1.3888889 81 3.750000
14 32 6 0.0277778 0.9814815 0.8888889 121 3.361111
15 34 3 0.0138889 0.9953704 0.4722222 169 2.347222
16 36 1 0.0046296 1.0000000 0.1666667 225 1.041667

5. Visualizar la gráfica de barra de la variable aleatoria x con respecto a su probabilidad

barplot(height = prob.x, names.arg = x)

6. Visualizar la gráfica de la probabilidad acumulada F(x)

plot(x,prob.acum.x, type = 'l')

7. Determinar varianza σ2=∑(x−μ)2p(x)

var <- sum((x - v.e) ^ 2 * prob.x)
var
## [1] 35

8. Determinar desviación std σ=σ2−−√

desv.std <- sqrt(var)
desv.std
## [1] 5.91608

Cálculo de probabilidades

kable(tabla[,c(1,2,4,5)])
pos x prob.x prob.acum.x
1 6 0.0046296 0.0046296
2 8 0.0138889 0.0185185
3 10 0.0277778 0.0462963
4 12 0.0462963 0.0925926
5 14 0.0694444 0.1620370
6 16 0.0972222 0.2592593
7 18 0.1157407 0.3750000
8 20 0.1250000 0.5000000
9 22 0.1250000 0.6250000
10 24 0.1157407 0.7407407
11 26 0.0972222 0.8379630
12 28 0.0694444 0.9074074
13 30 0.0462963 0.9537037
14 32 0.0277778 0.9814815
15 34 0.0138889 0.9953704
16 36 0.0046296 1.0000000

9. ¿Cual es la probabilidad de que la suma sea MENOR O IGUAL A SEIS?

Pendiente a demostrar 0.4166667 p(x≤6) es:

∑p(x=2),(x=3),(x=4),(x=5),(x=6) ó F(x=6)

i=1 
i=min(tabla$x) - tabla$pos[1]
i
## [1] 5

10. ¿Cuál es la probabilidad de que la suma sea DIEZ O MAS ?

tabla$prob.acum.x[6-i]
## [1] 0.00462963

11. ¿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.14351852  0.11574074  0.06944444  0.00000000 -0.09722222 -0.21296296
##  [7] -0.33796296 -0.46296296 -0.57870370 -0.67592593 -0.74537037 -0.79166667
## [13] -0.81944444 -0.83333333 -0.83796296

12. ¿Cuál es la probabilidad de que la suma SEA MAYOR QUE ONCE?

ac=0
for(i in 1:18){
ac=ac+nrow(dados[dados$suma==i,])/nrow(dados)
cat("La probabilidad de que la suma sea ",i," = ",nrow(dados[dados$suma==i,]),"/",nrow(dados),"= ",nrow(dados[dados$suma==i,])/nrow(dados)   , "\n")
}
## La probabilidad de que la suma sea  1  =  0 / 216 =  0 
## La probabilidad de que la suma sea  2  =  0 / 216 =  0 
## La probabilidad de que la suma sea  3  =  1 / 216 =  0.00462963 
## La probabilidad de que la suma sea  4  =  3 / 216 =  0.01388889 
## La probabilidad de que la suma sea  5  =  6 / 216 =  0.02777778 
## La probabilidad de que la suma sea  6  =  10 / 216 =  0.0462963 
## La probabilidad de que la suma sea  7  =  15 / 216 =  0.06944444 
## La probabilidad de que la suma sea  8  =  21 / 216 =  0.09722222 
## La probabilidad de que la suma sea  9  =  25 / 216 =  0.1157407 
## La probabilidad de que la suma sea  10  =  27 / 216 =  0.125 
## La probabilidad de que la suma sea  11  =  27 / 216 =  0.125 
## La probabilidad de que la suma sea  12  =  25 / 216 =  0.1157407 
## La probabilidad de que la suma sea  13  =  21 / 216 =  0.09722222 
## La probabilidad de que la suma sea  14  =  15 / 216 =  0.06944444 
## La probabilidad de que la suma sea  15  =  10 / 216 =  0.0462963 
## La probabilidad de que la suma sea  16  =  6 / 216 =  0.02777778 
## La probabilidad de que la suma sea  17  =  3 / 216 =  0.01388889 
## La probabilidad de que la suma sea  18  =  1 / 216 =  0.00462963