R语言 z-score标准化
在统计学中,任务是对变量进行标准化,这些变量被称为估价z-cores。比较两个标准化的变量是标准化向量的功能。通过将向量减去其平均值,然后将结果除以向量的标准差,我们就可以将向量标准化。
公式
Z=(x-平均值)/标准差
办法
- 声明一个向量
- 通过函数 mean() 和 sd() 计算其平均值和标准差 。
- 要创建一个标准化的向量。
- 从向量中减去平均数
- 现在用标准差除以上述结果
a <- c(7, 8, 3, 2, 2, 10, 9)
# Finding Mean
m<-mean(a)
# Finding Standard Deviation
s<-sd(a)
#standardized vector
a.z<-(a-m)/s
a.z
输出
[1] 0.3325644 0.6235582 -0.8314110 -1.1224048 -1.1224048 1.2055459 0.9145521
现在我们也可以通过检查向量的平均值是否为零,标准差是否为一来检查其是否被正确标准化。平均数的答案不是完全为零,而是几乎为零。这是可以接受的,因为它是计算机规律的结果。
程序
a <- c(7, 8, 3, 2, 2, 10, 9)
# Finding Mean
m<-mean(a)
# Finding Standard Deviation
s<-sd(a)
#standardized vector
a.z<-(a-m)/s
mean(a.z)
sd(a.z)
输出
[1] 1.427197e-16
[1] 1
例2 :
a <- c(10, 6, 3, 5, 4)
b <- c(150, 200, 500, 600, 850)
a.z <- (a - mean(a)) / sd(a)
b.z <- (b - mean(b)) / sd(b)
average.z <- (a.z + (b.z)) / 2
round(average.z, 1)
输出
[1] 0.3 -0.4 -0.4 0.1 0.4