lby19941026a的个人博客分享 http://blog.sciencenet.cn/u/lby19941026a 博学精思,慧而明理

博文

R中正态检测和转换的几种方法

已有 15256 次阅读 2019-2-22 16:51 |系统分类:科研笔记

正态检测方法:

  1. Shapiro-Wilk(W检验)

    是最为常用和较为普遍接受的一种方法,其R代码为:

    a<-data1[,1]

    shapiro.test(a) 

    当结果P值>0.05时,即为接受该组数据为正态

  2. Kolmogorov-Smirnov检验

    代码:install.packages(“nortest”)

    library(nortest)

    a<-data1[,1]

    lillie.test(x)

    当结果P值>0.05时,即为接受该组数据为正态

  3. qqplot(),可直接观看数据的变化趋势,从而决定改组数据的处理方式,判断数据是否属于正态

正态转换方法:

当发现数据不是正态时,我们通常有两种考虑,

      1.对其进行转换;

       2.考虑该组数据是否符合其他分布,如泊松分布、二项分布、伽马分布等。

通常,其转为正态的方法有以下几种:

      1.log转换,可用函数In(),log2(),log10(),一般适合右偏态的数据;

      2.开根号或平方或立方或更高次的转换,此类转换需要慎重,需考虑变换后的意义,如果没有必要,需避免此类操作。你也不知道如何去解释脂肪含量与摄入花生数立方的关系,不是吗;

      3.Box-Cox转换 (参考R语言实战),R代码为:

      install.packages(“car”)

      library(car)

      a<-data1[,1]

      summary(powerTransform(a))

     其Est.power值即为所要对原数据所做的处理

      4.spss中的“blom”函数,此处不做详细解释



https://blog.sciencenet.cn/blog-3304313-1163621.html

上一篇:R软件学习中的几点心得
下一篇:保持优雅
收藏 IP: 159.226.89.*| 热度|

1 杨正瓴

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 00:30

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部