R数据处理

R语言入门_scale()函数使用简介

2021-01-28  本文已影响0人  Seurat_Satija

我们绘制热图的时候常会用到scale函数。这里做下简介

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.069
[2,] -0.535
[3,]  0.000
[4,]  1.604
[5,]  0.000
attr(,"scaled:center")
[1] 3
attr(,"scaled:scale")
[1] 1.87

scale方法中的两个参数center和scale的解释:
1)center和scale默认为真,即T或者TRUE
2)center为真表示数据中心化
3)scale为真表示数据标准化

参考资料:R语言的scale函数

作者:谢俊飞
链接:https://www.jianshu.com/p/fc82ae05feb9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上一篇下一篇

猜你喜欢

热点阅读