如何计算 r 中的绝对中值偏差
中值绝对偏差衡量数据集中观测值的分布。
这是一个特别有用的度量,因为与标准差和方差等其他离散度量相比,它受异常值的影响较小。
绝对中位偏差(通常缩写为 MAD)的计算公式为:
MAD = 中位数 (|x i – x m |)
金子:
- x i :数据集的第 i 个值
- x m :数据集中的中值
以下示例演示如何使用内置mad()函数计算 R 中的中值绝对偏差。
示例 1:计算向量的 MAD
以下代码展示了如何计算 R 中单个向量的中值绝对偏差:
#define data data <- c(1, 4, 4, 7, 12, 13, 16, 19, 22, 24) #calculate MAD mad(data) [1] 11.1195
数据集的中值绝对偏差为11.1195 。
示例 2:计算数据框中某列的 MAD
以下代码显示如何计算数据框中单列的 MAD:
#define data data <- data.frame(x = c(1, 4, 4, 6, 7, 8, 12), y = c(3, 4, 6, 8, 8, 9, 19), z = c(2, 2, 2, 3, 5, 8, 11)) #calculate MAD for column y in data frame mad(data$y) [1] 2.9652
y列的绝对中值偏差为2.9652 。
示例 3:计算数据框中多列的 MAD
以下代码展示了如何使用sapply()函数计算数据框中多列的 MAD:
#define data
data <- data.frame(x = c(1, 4, 4, 6, 7, 8, 12),
y = c(3, 4, 6, 8, 8, 9, 19),
z = c(2, 2, 2, 3, 5, 8, 11))
#calculate MAD for all columns in data frame
sapply(data, mad)
X Y Z
2.9652 2.9652 1.4826
x 列的绝对中位偏差为2.9652 ,y 列的绝对中位偏差为2.9652 ,z 列的绝对中位偏差为1.4826 。
相关: R 中 apply()、lapply()、sapply() 和 tapply() 指南