R中数据的标准化0-1标准化

数据标准化,是将数据按比例缩放,使之落入到特定区间,一般我们使用0-1标准化;

x=(x-min)/(max-min)

>data <- read.csv('1.csv', fileEncoding='utf-8')
> data
   class   name score
1   一班 朱志斌   120
2   一班   朱凤   122
3   一班 郑丽萍   140
4   一班 郭杰明   131
5   一班   许杰   122
6   二班   郑芬   119
7   二班   林龙    96
8   二班 林良坤   135
9   二班 黄志红   105
10  三班 方小明   114
11  三班 陈丽灵   115
12  三班 方伟君   136
13  三班 庄艺家   119
> data.scale <- (data$score-min(data$score))/(max(data$score)-min(data$score))
> newData <- data.frame(data, data.scale)
> newData
   class   name score data.scale
1   一班 朱志斌   120  0.5454545
2   一班   朱凤   122  0.5909091
3   一班 郑丽萍   140  1.0000000
4   一班 郭杰明   131  0.7954545
5   一班   许杰   122  0.5909091
6   二班   郑芬   119  0.5227273
7   二班   林龙    96  0.0000000
8   二班 林良坤   135  0.8863636
9   二班 黄志红   105  0.2045455
10  三班 方小明   114  0.4090909
11  三班 陈丽灵   115  0.4318182
12  三班 方伟君   136  0.9090909
13  三班 庄艺家   119  0.5227273


注意scale( )标准化函数跟0-1标准化的区别。标准化的方法很多,根据实际数据分析需求进行选择。

> scale<-scale(data$score)  
> scale  
            [,1]  
 [1,] -0.0865256  
 [2,]  0.0741648  
 [3,]  1.5203783  
 [4,]  0.7972716  
 [5,]  0.0741648  
 [6,] -0.1668708  
 [7,] -2.0148103  
 [8,]  1.1186523  
 [9,] -1.2917035  
[10,] -0.5685968  
[11,] -0.4882516  
[12,]  1.1989975  
[13,] -0.1668708  
attr(,"scaled:center")  
[1] 121.0769  
attr(,"scaled:scale")  
[1] 12.44629  
> View(data)  
> mean(data$score)  
[1] 121.0769  
> sd(data$score)  
[1] 12.44629  

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值