检测数据是否符合正态分布(R语言)


norm.test<- function(input.data,alpha=0.05,pic=TRUE){
    if(pic==TRUE){#画图形
           dev.new()
           par(mfrow=c(2,1))
           qqnorm(input.data,main="qq图")
           qqline(input.data)
           hist(input.data,frep=F,main="直方图和密度估计曲线")
           lines(density(input.data),col="blue") #密度估计曲线
           x<- c(round(min(input.data)):round(max(input.data)))
           lines(x,dnorm(x,mean(input.data),sd(input.data)),col="red") #正态分布曲线
    }
    sol<- shapiro.test(input.data)
    if(sol$p.value>alpha){
        print(paste("success:服从正态分布,p.value=",sol$p.value,">",alpha))    
    }else{
         print(paste("error:不服从正态分布,p.value=",sol$p.value,"<=",alpha))
    }
    sol
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM