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.