R语言自定义函数,利用QQ图和shaprio.test检验正态分布
来源:互联网 发布:财务会计软件目的 编辑:程序博客网 时间:2024/04/30 08:17
代码
#自定义函数
norm.test<-function(data,alpha=0.05,pic=TRUE){ #alpha为显著性水平,这里的默认值为0.05
if(pic==TRUE){#画图形dev.new()
par(mfrow=c(2,1))
qqnorm(data,main="qq图")
qqline(data)
hist(data,freq=F,main="直方图和密度估计曲线")
lines(density(data),col="blue")#密度估计曲线
x<-c(round(min(data)):round(max(data)))
lines(x,dnorm(x,mean(data),sd(data)),col="red")#正态分布曲线
}
sol<-shapiro.test(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
}
#函数调用
data<-rnorm(100,mean=5,sd=3)#数据为随机生成的满足正态分布的数据集,个数为100,平均值为5,标准差为5
norm.test(data)
################
说明
1、norm是正态分布,dnorm是正态分布的概率密度函数,rnorm是生成正态分布的随机数,pnorm是分布函数
2、关于QQ图
(1)QQ图用于检验指标样本是否服从某种分布状态,样本越是服从某种分布规则,绘制的QQ图越会趋于一条直线
(2)qqnorm函数绘制正态分布的QQ图
(3)qqline函数用于绘制QQ图的近似直线,其解析式为,其中a是正态分布的标准差,截距b为均值
3、关于shapiro.test函数
该函数的参数为要检验的数据集,返回值为一个对象,对象的属性p.value与显著性水平相比(一般与0.05相比),如果p.value值大,则可以说其服从正态分布,该值越接近1越好。
运行结果
参考
1、《R语言与网站分析》
2、《R语言 Shapiro-Wilk检验》 http://blog.sina.com.cn/s/blog_403aa80a01019lwd.html
0 0
- R语言自定义函数,利用QQ图和shaprio.test检验正态分布
- 用R语言做正态分布检验
- 用R语言做正态分布检验
- 正态分布R语言实例
- R语言画正态分布
- 正态分布-R语言
- R的正态分布函数
- R语言:自定义函数
- R语言笔记1:t检验和Wilcoxon检验
- 利用SPSS检验数据是否符合正态分布
- R语言检测数据正态分布
- R语言t检验
- R语言正态性检验
- R语言---分布检验
- R语言置换检验
- R语言t分布正态分布分位数图
- R语言-编写自定义函数
- R语言:多元线性回归和模型检验
- Redis配置集群遇到问题及解决方法
- J2EE异常 [转]
- 剑指offer(22):包含min函数的栈
- 手动安装rubygems
- Fragment嵌套注意问题
- R语言自定义函数,利用QQ图和shaprio.test检验正态分布
- 系统可靠性(摘抄)
- linux中使用find和xargs
- Android 4.4 Kitkat Phone工作流程浅析(四)__RILJ工作流程简析
- 设计模式之六大原则——里氏替换原则(LSP)
- RHLE6/CENTOS6解析域名慢处理及关闭ipv6
- Set map list的区别。
- fzu 2111 Min Number 搜索
- SQL语句基础2-数据定义