美文网首页
标准化、中心化和scale函数

标准化、中心化和scale函数

作者: 东方不赞 | 来源:发表于2020-04-04 14:25 被阅读0次

    在对一个现象的一组观测中,数据难免会有很多偏差。为了描述数据的离散程度,常用一些统计方法对数据进行处理

    数据的标准化、中心化

    1.中心化是一组数据各自减去平均值

    x=1:10
    mean(x)  #5.5
    # 中心化
    x.center=x-mean(x)
    

    2.标准化是中心化后的数字再除以样本的标准差sd

    x.strandard=x.center/sd(x)
    

    3.scale基础函数

    scale(data, center=TREU, scale=TRUE)
    

    其中↑,center参数控制是否中心化,scale参数控制是否标准化。

    4.测试

    下方代码说明,scale函数在center=T,scale=F时,只进行中心化。当center=T,scale=T时,中心标准化;但是当center=F,scale=T时,却不是简单的非中心化的标准化,其算法还未摸清。==待续==

    set.seed(1000)
    data=rnorm(100)
    mean1=mean(data) # 0.01637922
    sd1=sd(data) # 1.006594
    # 只~中心化
    data.center1=data-mean1
    data.center2=scale(data,center=TRUE,scale=FALSE)
    identical(data.center1,as.vector(data.center2))#TRUE,说明两个结果相同
    
    # 中心化&&标准化
    data.center.std1=data.center1/sd(data)
    data.center.std2=scale(data,center=TRUE,scale=TRUE)
    identical(data.center.std1,as.vector(data.center.std2))#TRUE, 说明两个结果相同
    
    # 只~标准化:注意结果此处不同啦
    data.std1=data/sd(data)
    data.std2=scale(data,center=FALSE,scale=TRUE)
    identical(data.std1,as.vector(data.std2))# FALSE,说明不一致!!!
    

    相关文章

      网友评论

          本文标题:标准化、中心化和scale函数

          本文链接:https://www.haomeiwen.com/subject/hlfjphtx.html