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

来源:互联网 发布:域名怎么做跳转 编辑:程序博客网 时间:2024/05/21 18:37

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

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

>data <- read.csv('1.csv', fileEncoding='utf-8')> data   class   name score1   一班 朱志斌   1202   一班   朱凤   1223   一班 郑丽萍   1404   一班 郭杰明   1315   一班   许杰   1226   二班   郑芬   1197   二班   林龙    968   二班 林良坤   1359   二班 黄志红   10510  三班 方小明   11411  三班 陈丽灵   11512  三班 方伟君   13613  三班 庄艺家   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.scale1   一班 朱志斌   120  0.54545452   一班   朱凤   122  0.59090913   一班 郑丽萍   140  1.00000004   一班 郭杰明   131  0.79545455   一班   许杰   122  0.59090916   二班   郑芬   119  0.52272737   二班   林龙    96  0.00000008   二班 林良坤   135  0.88636369   二班 黄志红   105  0.204545510  三班 方小明   114  0.409090911  三班 陈丽灵   115  0.431818212  三班 方伟君   136  0.909090913  三班 庄艺家   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  

原创粉丝点击