Asimétrica negativa o a la izquierda
media < mediana < moda
- rbeta(n, 5, 2)
Simétrica
media = mediana = moda
- rbeta(n, 5, 5)
Asimétrica positiva o a la derecha
media > mediana > moda
- rbeta(n, 2, 5)
parámetro x de legend = "topright"
Código
Instalamos y cargamos el paquete modeest, para calcular la moda de las distribuciones con las funciones betaMode y normMode.
install.packages("modeest")
library(modeest)
Empleamos la función de densidad de beta:
dbeta(x, shape1, shape2, ncp = 0, log = FALSE)
Modificaremos los parámetros de la distribución beta a (shape1) y b (shape2) para alterar la forma de la distribución y que sea asimétrica negativa, simétrica o asimétrica positiva.
Asimétrica negativa: shape1 = 5, shape2 =2
Simétrica: shape1 = 5, shape2 =5
Asimétrica positiva: shape1 = 2, shape2 =5
# Ejemplo: asimétrica negativa
set.seed(2014)
vble <- rbeta(1000000, 5, 2) # Parametros a modificar
# Histograma
hist(vble,
prob = TRUE,
xlim = c(0, 1),
col = "slategray2",
border = "white",
main = "Asimetría negativa",
xlab = "",
las = 1)
# Función de densidad
lines(density(vble), # density plot
lwd = 2, # thickness of line
col = "darkblue")
# Líneas
# Media
mean <- mean(vble)
segments(x0 = mean, y0 = 0,
x1 = mean, y1 = dbeta(mean, 5, 2), # Parametros a modificar
col = "blue", lwd = 2) # lty = 3 dotted line
# Mediana
median <- median(vble)
segments(x0 = median, y0 = 0,
x1 = median, y1 = dbeta(median, 5, 2), # Parametros a modificar
col = "red", lwd = 2)
# Moda
mode <- betaMode(5, 2)
segments(x0 = mode, y0 = 0, x1 = mode,
y1 = dbeta(mode, 5, 2),
col = "orange", lwd = 2)
# Leyenda
legend(x = "topleft", # Ubicación de la leyenda
c("Función de densidad", "Media", "Mediana"),
col = c("darkblue", "blue", "red"),
lwd = c(2, 2, 2),
bty = "n")
Alternativa
Podemos añadir las líneas de la media y mediana mediante la función abline. La diferencia respecto al ejemplo anterior con segments es que la línea cortará a la función de densidad pues es infinita.
set.seed(2014)
vble <- rnorm(n = 1000000)
hist(vble,
prob = TRUE,
xlim = c(-3,3),
ylim = c(0, .4),
col = "slategray2",
border = "white",
main = "Simétrica",
xlab = "",
las = 1)
# Función de densidad
lines(density(vble), # density plot
lwd = 2, # thickness of line
col = "darkblue")
# Media
abline(v = mean(vble),
col = "blue",
lwd = 2)
# Mediana
abline(v = median(vble),
col = "red",
lwd = 2)
# Mode
abline(v = normMode(),
col = "orange",
lwd = 2)
Entradas relacionadas
No hay comentarios:
Publicar un comentario