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
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.