概述
scale()函数,中心化,归一化
当参数center=T,scale=T时,先减去mean(d),再除以sd(d),得到数据平均值为0,方差为1的数据。
> d <- 1:7
> d
[1] 1 2 3 4 5 6 7
> scale(d,center=T,scale = T)
[,1]
[1,] -1.3887301
[2,] -0.9258201
[3,] -0.4629100
[4,] 0.0000000
[5,] 0.4629100
[6,] 0.9258201
[7,] 1.3887301
attr(,"scaled:center")
[1] 4
attr(,"scaled:scale")
[1] 2.160247
> mean(d)
[1] 4
> sd(d)
[1] 2.160247
当center = F,scale = T时,相当于均值为0,然后除以均值为0计算的标准差。
> sqrt(sum(d^2)/(length(d)-1))
[1] 4.830459
> scale(d,center = F,scale = T)
[,1]
[1,] 0.2070197
[2,] 0.4140393
[3,] 0.6210590
[4,] 0.8280787
[5,] 1.0350983
[6,] 1.2421180
[7,] 1.4491377
attr(,"scaled:scale")
[1] 4.830459
当center=T,scale = F时,对数据进行中心化,即减去mean(d)。
> scale(d,center=T,scale = F)
[,1]
[1,] -3
[2,] -2
[3,] -1
[4,] 0
[5,] 1
[6,] 2
[7,] 3
attr(,"scaled:center")
[1] 4
最后
以上就是爱笑果汁为你收集整理的R语言 scale()函数的全部内容,希望文章能够帮你解决R语言 scale()函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复