R语言中scale函数的用法

 

中心化,所有项减去平均数

1、

复制代码
> dat <- c(3, 6, 4, 8)
> dat
[1] 3 6 4 8
> mean(dat)
[1] 5.2
> dat - mean(dat)                            ## 所有项减去平均值, 中心化  
[1] -2.25  0.75 -1.25  2.75
> scale(dat, center = T, scale = F)          ## scale函数实现中心化
      [,1]
[1,] -2.25
[2,]  0.75
[3,] -1.25
[4,]  2.75
attr(,"scaled:center")
[1] 5.2
复制代码

 

2、标准化01

所有项除以均方根。(均方根指的是:求所有项的平方和的平均数, 然后开平方)

复制代码
> dat <- c(3, 6, 4, 8)
> dat
[1] 3 6 4 8
> sqrt(sum(dat^2)/(length(dat) - 1))            ## 求均方根
[1] 6.5
> dat / sqrt(sum(dat^2)/(length(dat) - 1))      ## 标准化01
[1] 0.46 0.93 0.62 1.24
> scale(dat, center = F, scale = T)             ## scale函数实现标准化01
     [,1]
[1,] 0.46
[2,] 0.93
[3,] 0.62
[4,] 1.24
attr(,"scaled:scale")
[1] 6.5
复制代码

 

3、标准化02

所有项减去平均数, 然后除以标准差,得到均值为0, 标准差为1的一组数据

复制代码
> dat <- c(3, 6, 4, 8)
> dat
[1] 3 6 4 8
> mean(dat)
[1] 5.2
> (dat - (mean(dat)))/sd(dat)            ## 所有项减去平均数,然后除以标准差
[1] -1.01  0.34 -0.56  1.24
> scale(dat, center = T, scale = T)      ## scale函数实现标准化02
      [,1]
[1,] -1.01
[2,]  0.34
[3,] -0.56
[4,]  1.24
attr(,"scaled:center")
[1] 5.2
attr(,"scaled:scale")
[1] 2.2
复制代码

 

posted @   小鲨鱼2018  阅读(711)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-05-08 linux 系统如何删除特定的行
点击右上角即可分享
微信分享提示