normalize函数

这个是简单一点的

sample<-c(3.2,5.1,2.4,1.6,NA,7.9)
normalize_mean_sd <- function(x)
{
    sum1<-sum(x,na.rm=TRUE)
    mean1<-mean(x,na.rm=TRUE)
    sd1<-sd(x,na.rm=TRUE)   
    for(i in 1:length(x)){
        print((x[i]-mean1)/sd1)
    }
}

normalize_mean_sd(sample)

本来想全部的函数都自己写呢,但是 is.nasqrt 有点麻烦,就先不管了

sample<-c(3.2,5.1,2.4,1.6,NA,7.9)
normalize_mean_sd <- function(x)
{
    sum_vector <- 0
    sum_sd<-0
    number_na<-0
    mean_vector<-0
#求和,平均值,以及NA的个数 
    for(i in 1:length(x)){
        if(is.na(x[i])){
            number_na<-number_na+1
        }
        else{
            sum_vector <- sum_vector + x[i]
        }
    }
    mean_vector<-sum_vector/(length(x)-number_na)
#求离均差平方和
    for(i in 1:length(x)){
        if(is.na(x[i])){
        }
        else{
            sum_sd<-sum_sd+(x[i] - mean_vector)^2
        }
   }
# 计算标准差
    sd1 <- sqrt(sum_sd/(length(x)-1))

    for(i in 1:length(x)){
        if(is.na(x[i])){
            print(x[i])
        }
        else{
            print((x[i]-mean_vector)/sd1)
        }
    }
}

normalize_mean_sd(sample)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容