R语言的scale函数
2016-05-19 10:47 猎手家园 阅读(22234) 评论(0) 编辑 收藏 举报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.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为真表示数据标准化
欢迎关注我的公众号:云栖语,不一样的研发视界。

云栖语微信公众号:change-1978
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术