R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

#JESUS ALEJANDRO VERGARA HERNANDEZ
#16040461

#LIBRERIAS
library(knitr) 
library(gtools) 

#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

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.