library(ggplot2)
library(flextable)
library(DiagrammeR)
Solución
a
enfermedades <- data.frame(
Enfermedad = c("I1", "I2", "I3"),
P_I = c(0.01, 0.005, 0.02),
P_H_dado_I = c(0.90, 0.95, 0.75)
)
enfermedades
## Enfermedad P_I P_H_dado_I
## 1 I1 0.010 0.90
## 2 I2 0.005 0.95
## 3 I3 0.020 0.75
b
library(DiagrammeR)
grViz("
digraph arbol_enfermedades {
node [shape=circle, style=unfilled, color=purple]
Inicio -> I1 [label='P(I1)=0.01']
Inicio -> I2 [label='P(I2)=0.005']
Inicio -> I3 [label='P(I3)=0.02']
I1 -> H1 [label='P(H|I1)=0.90']
I1 -> NoH1 [label='P(¬H|I1)=0.10']
I2 -> H2 [label='P(H|I2)=0.95']
I2 -> NoH2 [label='P(¬H|I2)=0.05']
I3 -> H3 [label='P(H|I3)=0.75']
I3 -> NoH3 [label='P(¬H|I3)=0.25']
}
")
library(flextable)
p.I1 <- 0.01 # P(I1)
p.I2 <- 0.005 # P(I2)
p.I3 <- 0.02 # P(I3)
p.H_I1 <- 0.90 # P(H|I1)
p.H_I2 <- 0.95 # P(H|I2)
p.H_I3 <- 0.75 # P(H|I3)
p.HI1 <- p.I1 * p.H_I1
p.HI2 <- p.I2 * p.H_I2
p.HI3 <- p.I3 * p.H_I3
p.H <- sum(p.HI1, p.HI2, p.HI3)
tabla1 <- data.frame(
. = c("Presenta síntomas (H)", "No presenta síntomas (¬H)", "Total"),
I1 = c(p.HI1, p.I1 - p.HI1, p.I1),
I2 = c(p.HI2, p.I2 - p.HI2, p.I2),
I3 = c(p.HI3, p.I3 - p.HI3, p.I3),
Total = c(p.H, 1 - p.H, 1)
)
flextable(tabla1)
. | I1 | I2 | I3 | Total |
|---|---|---|---|---|
Presenta síntomas (H) | 0.009 | 0.00475 | 0.015 | 0.02875 |
No presenta síntomas (¬H) | 0.001 | 0.00025 | 0.005 | 0.97125 |
Total | 0.010 | 0.00500 | 0.020 | 1.00000 |
con base a la tabla la respuesta es:
p.I1_dado_H <- p.HI1 / p.H
cat("P(I1|H) = ", round(p.HI1,5), "/", round(p.H,5), " = ", round(p.I1_dado_H,4))
## P(I1|H) = 0.009 / 0.02875 = 0.313
library(flextable)
x <- c(1, 2, 3, 4)
f.x <- c(0.4, 0.3, 0.2, 0.1)
barplot(f.x, names.arg = x, col = "skyblue",
main = "Función de Probabilidad f(x)",
xlab = "x", ylab = "f(x)")
F.x <- cumsum(f.x)
tabla <- data.frame(x, f.x, F.x)
flextable(tabla)
x | f.x | F.x |
|---|---|---|
1 | 0.4 | 0.4 |
2 | 0.3 | 0.7 |
3 | 0.2 | 0.9 |
4 | 0.1 | 1.0 |
F_2_5 <- F.x[which(x == 2)]
cat("F(2.5) =", F_2_5)
## F(2.5) = 0.7
La función es f(x) = kx(1-x), 0 <= x <= 1 Para que sea una función de densidad, el área total bajo la curva debe ser 1
\[ \int_{0}^{1} kx(1-x) dx = 1 \]
integral <- integrate(function(x) x*(1-x), 0, 1)$value
k <- 1 / integral
cat("Valor de k =", k, "\n")
## Valor de k = 6
f <- function(x) ifelse(x >= 0 & x <= 1, k*x*(1-x), 0)
F <- function(x) ifelse(x < 0, 0,
ifelse(x <= 1, k*((x^2)/2 - (x^3)/3), 1))
curve(f, from = 0, to = 1, col = "blue", lwd = 2,
main = "Función de Densidad f(x)", ylab = "f(x)", xlab = "x")
curve(F, from = 0, to = 1, col = "skyblue", lwd = 2,
main = "Función de Distribución F(x)", ylab = "F(x)", xlab = "x")
P <- integrate(f, 0.4, 0.8)$value
cat("P(0.4 < X < 0.8) =", round(P, 3))
## P(0.4 < X < 0.8) = 0.544
x <- c(250, 150, 0, -150)
p <- c(0.22, 0.36, 0.28, 0.14)
sum(p)
## [1] 1
E_X <- sum(x * p)
cat("Valor esperado =", E_X, "\n") #valor esperado
## Valor esperado = 88
E_X2 <- sum((x^2) * p)
Var_X <- E_X2 - (E_X)^2 # varianza
cat("Varianza =", Var_X, "\n")
## Varianza = 17256
Desv_X <- sqrt(Var_X)
cat("Desviacion estandar =", round(Desv_X, 2))
## Desviacion estandar = 131.36
f <- function(x) ifelse(x > 0 & x < 1, (2*(x + 2))/5, 0)
E_X <- integrate(function(x) x * (2*(x + 2))/5, 0, 1)$value
cat("Proporcion esperada E[X] =", round(E_X, 4), "\n")
## Proporcion esperada E[X] = 0.5333
area <- integrate(f, 0, 1)$value
cat("Área bajo f(x) =", area, "\n") # verificas que si es funcion de densidad
## Área bajo f(x) = 1
curve(f, from = 0, to = 1, col = "blue", lwd = 2,
main = "Funcion de Densidad f(x)", ylab = "f(x)", xlab = "x")
F <- function(y) ifelse(y < 0, 0, 1 - exp(-y^2))
curve(F, from = -1, to = 3, col = "darkblue", lwd = 2,
main = "Funcion de Distribucion F(y)",
ylab = "F(y)", xlab = "y")
f <- function(y) ifelse(y >= 0, 2*y*exp(-y^2), 0)
curve(f, from = 0, to = 3, col = "darkred", lwd = 2,
main = "Funcion de Densidad f(y)",
ylab = "f(y)", xlab = "y")
P <- 1 - F(2)
cat("P(Y ≥ 2) =", round(P, 4), "\n")
## P(Y ≥ 2) = 0.0183