Cálculo de probabilidades
library(gtools) # Permutaciones
library(knitr) # Para kable() para que se vea mas amigable
dados <- data.frame(permutations(6, 2, repeats.allowed = TRUE))
dados
## X1 X2
## 1 1 1
## 2 1 2
## 3 1 3
## 4 1 4
## 5 1 5
## 6 1 6
## 7 2 1
## 8 2 2
## 9 2 3
## 10 2 4
## 11 2 5
## 12 2 6
## 13 3 1
## 14 3 2
## 15 3 3
## 16 3 4
## 17 3 5
## 18 3 6
## 19 4 1
## 20 4 2
## 21 4 3
## 22 4 4
## 23 4 5
## 24 4 6
## 25 5 1
## 26 5 2
## 27 5 3
## 28 5 4
## 29 5 5
## 30 5 6
## 31 6 1
## 32 6 2
## 33 6 3
## 34 6 4
## 35 6 5
## 36 6 6
sumar.dados <- apply(dados, MARGIN = 1, FUN = sum)
sumar.dados
## [1] 2 3 4 5 6 7 3 4 5 6 7 8 4 5 6 7 8 9 5 6 7 8 9 10 6
## [26] 7 8 9 10 11 7 8 9 10 11 12
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] 2 3 4 5 6 7 8 9 10 11 12
## Levels: 2 3 4 5 6 7 8 9 10 11 12
frecuencia_sumas$Freq
## [1] 1 2 3 4 5 6 5 4 3 2 1
x <- as.numeric(as.vector(frecuencia_sumas$sumar.dados))
# Variable aleatoria desde 2 hasta 12 numérica
x
## [1] 2 3 4 5 6 7 8 9 10 11 12
frecuencia <-as.numeric(as.vector(frecuencia_sumas$Freq))
frecuencia # Ya como valor numérico
## [1] 1 2 3 4 5 6 5 4 3 2 1
n <- sum(frecuencia)
n
## [1] 36
x
## [1] 2 3 4 5 6 7 8 9 10 11 12
prob.x <- frecuencia / n
prob.x
## [1] 0.02777778 0.05555556 0.08333333 0.11111111 0.13888889 0.16666667
## [7] 0.13888889 0.11111111 0.08333333 0.05555556 0.02777778
sum(prob.x)
## [1] 1
v.e <- sum(x * prob.x)
v.e
## [1] 7
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]))
prob.acum.x
## [1] 0.02777778 0.08333333 0.16666667 0.27777778 0.41666667 0.58333333
## [7] 0.72222222 0.83333333 0.91666667 0.97222222 1.00000000
| \(pos\) | \(x\) | \(Freq\) | \(p(x)\) | \(F(x)\) | \(xp(x)\) | \((x - \mu) ^ 2)\) | \((x - \mu) ^ 2 p(x)\) |
|---|
tabla <- data.frame(1:11, 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 | 2 | 1 | 0.0277778 | 0.0277778 | 0.0555556 | 25 | 0.6944444 |
| 2 | 3 | 2 | 0.0555556 | 0.0833333 | 0.1666667 | 16 | 0.8888889 |
| 3 | 4 | 3 | 0.0833333 | 0.1666667 | 0.3333333 | 9 | 0.7500000 |
| 4 | 5 | 4 | 0.1111111 | 0.2777778 | 0.5555556 | 4 | 0.4444444 |
| 5 | 6 | 5 | 0.1388889 | 0.4166667 | 0.8333333 | 1 | 0.1388889 |
| 6 | 7 | 6 | 0.1666667 | 0.5833333 | 1.1666667 | 0 | 0.0000000 |
| 7 | 8 | 5 | 0.1388889 | 0.7222222 | 1.1111111 | 1 | 0.1388889 |
| 8 | 9 | 4 | 0.1111111 | 0.8333333 | 1.0000000 | 4 | 0.4444444 |
| 9 | 10 | 3 | 0.0833333 | 0.9166667 | 0.8333333 | 9 | 0.7500000 |
| 10 | 11 | 2 | 0.0555556 | 0.9722222 | 0.6111111 | 16 | 0.8888889 |
| 11 | 12 | 1 | 0.0277778 | 1.0000000 | 0.3333333 | 25 | 0.6944444 |
barplot(height = prob.x, names.arg = x)
plot(x,prob.acum.x, type = 'b')
var <- sum((x - v.e) ^ 2 * prob.x)
var
## [1] 5.833333
desv.std <- sqrt(var)
desv.std
## [1] 2.415229
kable(tabla[,c(1,2,4,5)])
| pos | x | prob.x | prob.acum.x |
|---|---|---|---|
| 1 | 2 | 0.0277778 | 0.0277778 |
| 2 | 3 | 0.0555556 | 0.0833333 |
| 3 | 4 | 0.0833333 | 0.1666667 |
| 4 | 5 | 0.1111111 | 0.2777778 |
| 5 | 6 | 0.1388889 | 0.4166667 |
| 6 | 7 | 0.1666667 | 0.5833333 |
| 7 | 8 | 0.1388889 | 0.7222222 |
| 8 | 9 | 0.1111111 | 0.8333333 |
| 9 | 10 | 0.0833333 | 0.9166667 |
| 10 | 11 | 0.0555556 | 0.9722222 |
| 11 | 12 | 0.0277778 | 1.0000000 |
\[p(x\leq6)\] es:
\[\sum 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] 1
tabla$prob.acum.x[6-i]
## [1] 0.4166667
(tabla$prob.acum.x[10-i] - tabla$prob.acum[4-i])
## [1] 0.75
1 - tabla$prob.acum.x[11-i]
## [1] 0.02777778