科研信息学

数据标准化 中心化以及R语言中scale

2019-06-27  本文已影响4人  赵会成

1.数据的中心化

所谓数据的中心化是指数据集中的各项数据减去数据集的均值。

例如有数据集1, 2, 3, 6, 3,其均值为3,那么中心化之后的数据集为1-3,2-3,3-3,6-3,3-3,即:-2,-1,0,3,0

2.数据的标准化

所谓数据的标准化是指中心化之后的数据在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差。

例如有数据集1, 2, 3, 6, 3,其均值为3,其标准差为1.87,那么标准化之后的数据集为(1-3)/1.87,(2-3)/1.87,(3-3)/1.87,(6-3)/1.87,(3-3)/1.87,即:-1.069,-0.535,0,1.604,0

数据中心化和标准化的意义是一样的,为了消除量纲对数据结构的影响。

在R语言中可以使用scale方法来对数据进行中心化和标准化:

#限定输出小数点后数字的位数为3位

> options(digits=3)

> data <- c(1, 2, 3, 6, 3)

#数据中心化

> scale(data, center=T,scale=F)

     [,1]

[1,]   -2

[2,]   -1

[3,]    0

[4,]    3

[5,]    0

attr(,"scaled:center")

[1] 3

#数据标准化

> scale(data, center=T,scale=T)

         [,1]

[1,] -1.06904

[2,] -0.53452

[3,]  0.00000

[4,]  1.60357

[5,]  0.00000

attr(,"scaled:center")

[1] 3

attr(,"scaled:scale")

[1] 1.8708

scale方法中的两个参数center和scale的解释:

1.center和scale默认为真,即T或者TRUE

2.center为真表示数据中心化

3.scale为真表示数据标准化

https://m.imooc.com/article/details?article_id=42955

上一篇下一篇

猜你喜欢

热点阅读