雷博宇
R中正态检测和转换的几种方法
2019-2-22 16:51
阅读:15216

正态检测方法:

  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://wap.sciencenet.cn/blog-3304313-1163621.html?mobile=1

收藏

分享到:

当前推荐数:1
推荐人:
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?