首页 热点资讯 义务教育 高等教育 出国留学 考研考公

基于R语言的数据标准化处理脚本

发布网友 发布时间:2022-04-23 14:43

我来回答

1个回答

热心网友 时间:2023-09-02 09:41

基于R语言的数据标准化处理脚本
数据标准化(Normalization)
将数据按比例缩放,使之落入一个小的特定区间。去除数据的单位*,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。
数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。
数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果。
数据无量纲化处理主要解决数据的可比性。数据标准化的方法有很多种,常用的有“最小—最大标准化”、“Z-score标准化”和“按小数定标标准化”等。经过上述标准化处理,原始数据均转换为无量纲化指标测评值,即各指标值都处于同一个数量级别上,可以进行综合测评分析。
min-max标准化(Min-max normalization)
也叫离差标准化,是对原始数据的线性变换,使结果落在[0,1]区间,转换函数如下:
正向指标:(x-min)/(max-min)
负向指标:(max-x)/(max-min)
其中max为样本数据的最大值,min为样本数据的最小值。这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
R语言实现
# 标准化处理
min.max.norm <- function(x){
((x-min(x))/(max(x)-min(x)))
} #正向指标

max.min.norm <- function(x){
((max(x)-x)/(max(x)-min(x)))
} #负向指标

data_1 <- apply(data[,-c(3,4)],2,min.max.norm) #正向指标处理
data_2 <- apply(data[,c(3,4)],2,max.min.norm) #负向指标处理
#注意array只能用在二维及以上

data_t <- cbind(data_1,data_2)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com