R语言数据统计1——正态性检验

news/2024/12/29 4:38:28/

引用

正态性检验之qqplot和ppplot原理及R语言实现
QQ图
KS检验和SW检验的区别
t检验算法及其在R语言中的实现
R语言做正态分布检验
R语言与统计分析

数据统计中的方差分析第一步应该是检查数据,其次做正态性检验。

而正态性检验

  • KS检验(样本量>5000)
  • SW检验(样本量<5000)
  • QQ图

目录

      • 引用
      • 1.QQ图
      • 2.K-S检验
      • 3.S-W检验

1.QQ图

  • Q-Q图是一种散点图,对应于正态分布的Q-Q图,就是由标准正态分布的分位数为横坐标,样本值为纵 坐标的散点图.
  • 要利用QQ图鉴别样本数据是否近似于正态分布,只需看QQ图上的点是否近似地在一条直线附近,而且该直线的斜率为标准差,截距为均值.
d <- rnorm(1000,mean = 76,sd=7);d[1] 63.63068 81.41180 62.65524 58.53152 82.86776 71.45430 83.80898 71.65438 61.58349 78.42920 71.28601 73.50931[13] 93.39517 65.07725 70.14370 72.21523 76.18374 80.55893 69.23166 88.16256 67.21181 84.96855 83.66621 62.01507//省略
> qqnorm(d)
> qqline(d)

在这里插入图片描述

2.K-S检验

  • 柯尔莫戈洛夫-斯米诺夫检验(Kolmogorov-Smirnov test),简称K-S检验;
  • nortest
    • ad.test是Anderson-Darling正态性检验,;

      cvm.test是Cramer-von Mises正态性检验;

      lillie.test是Lilliefors (Kolmogorov-Smirnov)正态性检验;

      pearson.test是pearson卡方正态性检验;

      sf.test是Shapiro-Francia正态性检验, 用这些检验验证a,b的正态性

  • fBasics
#1
> library(nortest)
> lillie.test(d)Lilliefors (Kolmogorov-Smirnov) normality testdata:  d
D = 0.033671, p-value = 0.009551
  • Lilliefor test是K-S检验的修正。在R中使用Lillefor检验,就相当于在SPSS中正态性检验的Kolmogorov-Smirnov的lilliefors的修正值,二者结果是相同的。

  • 需要注意的是,K-S检验只需要K-S检验默认是检验是否符合标准正态分布,所以我们需要先用scale函数对需要检测的数据标准化。

#2
> ks.test(d,"pnorm")One-sample Kolmogorov-Smirnov testdata:  d
D = 1, p-value < 2.2e-16
alternative hypothesis: two-sided
> ks.test(scale(d),"pnorm")One-sample Kolmogorov-Smirnov testdata:  scale(d)
D = 0.033671, p-value = 0.2069
alternative hypothesis: two-sided
  • D值越小,越接近0,表示样本数据越接近正态分布(D越小越好);P小于显著性水平α(0.05),则拒绝H0(p越大越好

3.S-W检验

  • 夏皮洛-威尔克检验(Shapiro—Wilk test),简称S-W检验。
> shapiro.test(d)Shapiro-Wilk normality testdata:  d
W = 0.99736, p-value = 0.1031
  • W接近1,p值大于0.05,所以数据为正态分布

  • 两种正态性检验方法,包括S-W检验和K-S检验。小样本(小于50)时建议使用S-W检验,大样本(大于50)时建议使用K-S检验;此两个检验的原假设为数据正态分布,因而P值>0.05,说明该项具有正态分布特质。 KS检验和SW检验的区别,

  • 这里很有误导性,到底样本啥样呢,我1000的样本,用Lilliefor test检验,P<0.05,并没有证明正态,而用S-W,就可以。

R语言做正态分布检验

  • SPSS 规定: 当样本含量3 ≤ n ≤ 5000时, 结果以Shapiro-Wilk为准, 当样本含量n > 5000结果以Kolmogorov-Smirnov为准.

  • 而SAS 规定: 当样本含量n ≤ 2000时, 结果以Shapiro-Wilk为准, 当样本含量n >2000时, 结果以Kolmogorov-Smirnov为准.

  • 写到最后,到底一组数据如何去判断呢?个人倾向于SPSS规定,说句不严谨的话,数据没有异常值,都是好数据,你说呢。

#当我把d取到10000时报错> shapiro.test(d)
Error in shapiro.test(d) : 样本大小必需在35000之间`

看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

请添加图片描述


http://www.ppmy.cn/news/671865.html

相关文章

[R语言学习笔记1] R语言for循环的使用

学习R语言的过程中&#xff0c;后期逐渐就会用循环语句来减少自己的重复工作。所以了解for循环&#xff0c;是必备技能之一。 R语言中的for循环结构是&#xff1a; for (循环变量 in 序列向量){表达式1表达式2...} 要注意的是&#xff0c;括号里面一个是循环变量&#xff0c…

零基础自学R语言 1 R语言介绍 1.3 R扩展软件包的安装与管理

零基础自学R语言 文章目录 零基础自学R语言1 R语言介绍1.3 R扩展软件包的安装与管理1.3.1 扩展包使用1.3.2 安装1.3.3 Github和BioConductor的扩展包1.3.4 更新扩展包1.3.5 迁移扩展包1.3.6 项目私有扩展包目录 1 R语言介绍 1.3 R扩展软件包的安装与管理 1.3.1 扩展包使用 R…

R语言自学-准备0-1-基本操作

一、赋值运算符 与大多数其他语言不同&#xff0c;R除了使用通常的运算符赋值外&#xff0c;还使用<-或者->运算符。在R语言中<-或者->运算符就相当于号&#xff0c;唯一的区别是<-和->指明了运算方向。表示是否相等&#xff0c;表示赋值。 x<-1 #赋值运…

R for Mac(M1)安装R包辛酸教程

欢迎收看hanhan的辛酸血泪史orz 关于R for Mac(M1)安装失败/下载后报错 文章目录 前言1. 非零报错-have no-zero-there is no package-缺包2. 安装失败-install from sources the package-下载源文件3. 关于我尚未解决的问题 前言 鬼迷心窍买了Mac&#xff0c;用着很爽&#…

R语言客户端RStudio快捷键大全

Console Description Windows & Linux Mac 输入符号 <-"Alt" "-"、Alt加上减号option - 将光标定位到控制台 Ctrl2 Ctrl2 清空控制台 CtrlL CommandL 将光标定位到行首 Home CommandLeft 将光标定位到行末 End CommandRight 在历…

R语言readxl或者tidyverse安装报错undefined symbol libiconv

我的生物信息专栏正式开启啦!!!为广大生物信息爱好者提供生信支持:拿来即可免安装部署到服务器的生信pipeline;R,python,C语言等包的debug;优秀文献内容解读等,欢迎订阅关注!!! 文章目录 R语言安装readxl或者tidyverse报错R语言安装readxl或者tidyverse报错 单细胞…

R语言table1包绘制表格转word的方法

用table1包绘制了三线表&#xff0c;但不能用常规方法输出为word格式。 查看数据格式为html格式 > class(log_table) [1] "table1" "html" "character" 解决方法&#xff1a;点击viewer右上角的Publish按钮&#xff0c;会提示要安…

R语言学习1下载

内容为学习笔记&#xff0c;目前正在学的书《R语言从数据思维到数据实战》 关于安装网址http://www.r-project.org 点击 download R 在China下方的网址中任选一个点击下载 关于R-studio&#xff1a;https://rstudio.com