Desviación absoluta mediana en R
La función mad en R se utiliza para calcular la desviación absoluta mediana (MAD), que mide la dispersión de un conjunto de datos. Es una alternativa robusta a la desviación tipica y al rango intercuartílico que es menos sensible a los valores atípicos.
Sintaxis
La sintaxis de la función mad es la siguiente:
mad(x, center = median(x), constant = 1.4826,
na.rm = FALSE, low = FALSE, high = FALSE)
Siendo:
x: un vector numérico.center: el centro de los datos utilizados para calcular la MAD. Por defecto, utiliza la mediana de x.constant: un factor de escala por defecto de 1.4826, que permite garantizar la consistencia asintótica para datos normales.na.rm: un valor lógico que indica si los valores que faltan deben eliminarse o no. Por defecto esFALSE.low: un valor lógico que indica si se debe calcular la “mediana baja”. Por defecto esFALSE.high: un valor lógico que indica si se debe calcular la “mediana alta”. Por defecto esFALSE.
Ejemplos
Dado un vector muestral llamado x puedes calcular su desviación absoluta mediana en R con la función mad de la siguiente manera:
# Datos de muestra
set.seed(19)
x <- rnorm(100)
# MAD
mad(x)
1.057287
Recuerda establecer na.rm = TRUE si tus datos contienen valores perdidos.
Función de tendencia central
La función central por defecto es median(x) pero también puedes introducir otra función como mean(x).
# Datos de muestra
set.seed(19)
x <- rnorm(100)
# MAD con función personalizada
mad(x, center = mean(x))
1.058821
Constante
La constante predeterminada de 1.4826 (1/qnorm(3/4)) garantiza la consistencia asintótica. Sin embargo, puedes personalizar el valor por defecto con constant.
# Datos de muestra
set.seed(19)
x <- rnorm(100)
# MAD con una constante personalizada
mad(x, constant = 1)
0.7131301
Mediana baja (lo-median)
Por defecto, cuando el tamaño de la muestra es par, la función calcula la media de los dos valores centrales. Sin embargo, cuando low = TRUE la función toma el menor de los dos valores centrales en lugar de su media.
# Datos de muestra
set.seed(19)
x <- rnorm(100)
# MAD lo-median
mad(x, low = TRUE)
0.7131301
Mediana alta (hi-median)
Cuando high = TRUE y el tamaño de la muestra es par, la función toma el mayor de los valores del medio en lugar de su media.
# Datos de muestra
set.seed(19)
x <- rnorm(100)
# MAD hi-median
mad(x, high = TRUE)
1.059213
Ten en cuenta que no es posible establecer low y high como TRUE al mismo tiempo.