R/Normal_Test_unit.R

Defines functions Normal_Test_unit

Normal_Test_unit<-function(x,decimal){
  library(fBasics)
Transform=c()
skew=c()
kurt=c()
##AD_p.value=c()
##AD_A=c()
SW_p.value=c()
SW_W=c()
KS_p.value=c()
KS_P=c()
# first x identity
#skewness and kurtness
skewf=timeDate::skewness(x)
skew=c(skew,skewf[1])
kurtf=kurtosis(x)
kurt=c(kurt,kurtf[1])
##Shapiro-Wilk test
if ((length(x)>=3) &
    (length(x)<=5000)){
  Shapiro_Wilk_test=shapiro.test(x)
  SW_p.value.i=Shapiro_Wilk_test$p.value
  SW_W.i=Shapiro_Wilk_test$statistic
  SW_p.value=c(SW_p.value,SW_p.value.i)
  SW_W=c(SW_W,SW_W.i)
}
##Kolmogorov-Smirnov test
if ((length(x)>4) &
    (length(x)<=5000)){
  Kolmogorov_Smirnov_test=nortest::lillie.test(x)
  KS_p.value.i=Kolmogorov_Smirnov_test$p.value
  KS_P.i=Kolmogorov_Smirnov_test$statistic
  KS_p.value=c(KS_p.value,KS_p.value.i)
  KS_P=c(KS_P,KS_P.i)
}
##Kolmogorov-Smirnov test over 5000 size
if (length(x)>5000){
  Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
  KS_p.value.i=Kolmogorov_Smirnov_test$p.value
  KS_P.i=Kolmogorov_Smirnov_test$statistic
  KS_p.value=c(KS_p.value,KS_p.value.i)
  KS_P=c(KS_P,KS_P.i)
}
###Combine
Transform=c(Transform,"identity")
xt=suppressWarnings(log(x))
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  # seconde log(x)
  ##Shapiro-Wilk test
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ###Combine
  Transform=c(Transform,"log(x)")
}
xt=suppressWarnings(x^2)
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  # third square(x)
  ##Shapiro-Wilk test
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ###Combine
  Transform=c(Transform,"x^2")
  #AD_p.value=c(#AD_p.value,#AD_p.value.i)
  #AD_A=c(#AD_A,#AD_A.i)
  #PCS_p.value=c(#PCS_p.value,#PCS_p.value.i)
  #PCS_P=c(#PCS_P,#PCS_P.i)
}
xt=suppressWarnings(x^3)
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  # fourth x^3
  ##Shapiro-Wilk test
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ###Combine
  Transform=c(Transform,"x^3")
  #AD_p.value=c(#AD_p.value,#AD_p.value.i)
  #AD_A=c(#AD_A,#AD_A.i)
  #PCS_p.value=c(#PCS_p.value,#PCS_p.value.i)
  #PCS_P=c(#PCS_P,#PCS_P.i)
}
xt=suppressWarnings(sqrt(x))
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  # fifth sqrt(x)
  ##Shapiro-Wilk test
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ###Combine
  Transform=c(Transform,"sqrt(x)")
  #AD_p.value=c(#AD_p.value,#AD_p.value.i)
  #AD_A=c(#AD_A,#AD_A.i)
  #PCS_p.value=c(#PCS_p.value,#PCS_p.value.i)
  #PCS_P=c(#PCS_P,#PCS_P.i)
}
xt=suppressWarnings(1/x)
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  # sixth 1/x
  ##Shapiro-Wilk test
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  Transform=c(Transform,"1/x")
}
xt=suppressWarnings(1/(x^2))
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  ##Shapiro-Wilk test
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  Transform=c(Transform,"1/(x^2)")
}
xt=suppressWarnings(1/(x^3))
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  Transform=c(Transform,"1/(x^3)")
}
xt=suppressWarnings(1/sqrt(x))
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  # ninth 1/sqrt(x)
  ##Shapiro-Wilk test
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ###Combine
  Transform=c(Transform,"1/sqrt(x)")
}
xt=suppressWarnings(asin(sqrt(x)))
if ((!(NaN %in% xt)) &
    (!(Inf %in% xt))){
  #skewness and kurtness
  skewf=timeDate::skewness(xt)
  skew=c(skew,skewf[1])
  kurtf=kurtosis(xt)
  kurt=c(kurt,kurtf[1])
  # ninth 1/sqrt(x)
  ##Shapiro-Wilk test
  if ((length(x)>=3) &
      (length(x)<=5000)){
    Shapiro_Wilk_test=shapiro.test(xt)
    SW_p.value.i=Shapiro_Wilk_test$p.value
    SW_W.i=Shapiro_Wilk_test$statistic
    SW_p.value=c(SW_p.value,SW_p.value.i)
    SW_W=c(SW_W,SW_W.i)
  }
  ##Kolmogorov-Smirnov test
  if ((length(x)>4) &
      (length(x)<=5000)){
    Kolmogorov_Smirnov_test=nortest::lillie.test(xt)
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ##Kolmogorov-Smirnov test over 5000 size
  if (length(x)>5000){
    Kolmogorov_Smirnov_test=suppressWarnings(ks.test(x = x,pnorm,alternative = "two.side"))
    KS_p.value.i=Kolmogorov_Smirnov_test$p.value
    KS_P.i=Kolmogorov_Smirnov_test$statistic
    KS_p.value=c(KS_p.value,KS_p.value.i)
    KS_P=c(KS_P,KS_P.i)
  }
  ###Combine
  Transform=c(Transform,"asin(sqrt(x))")
}
sig=c()
if (is.null(SW_p.value)){
  for (i in 1:length(KS_p.value)){
    if (KS_p.value[i]<=0.001){
      sig=c(sig,"***")
      next
    }else if (KS_p.value[i]<=0.01){
      sig=c(sig,"**")
      next
    }else if (KS_p.value[i]<=0.05){
      sig=c(sig,"*")
      next
    }else{
      sig=c(sig,".")
    }
  }
}else if(is.null(KS_p.value)){
  for (i in 1:length(SW_p.value)){
    if (SW_p.value[i]<=0.001){
      sig=c(sig,"***")
      next
    }else if (SW_p.value[i]<=0.01){
      sig=c(sig,"**")
      next
    }else if (SW_p.value[i]<=0.05){
      sig=c(sig,"*")
      next
    }else{
      sig=c(sig,".")
    }
  }
}else{
  for (i in 1:length(SW_p.value)){
    if (min(SW_p.value[i],KS_p.value[i])<=0.001){
      sig=c(sig,"***")
      next
    }else if (min(SW_p.value[i],KS_p.value[i])<=0.01){
      sig=c(sig,"**")
      next
    }else if (min(SW_p.value[i],KS_p.value[i])<=0.05){
      sig=c(sig,"*")
      next
    }else{
      sig=c(sig,".")
    }
  }
}
if ((length(x)>4)&(length(x)<=5000)){
  NormalDistrTestFrame=as.data.frame(
    cbind(
      sig,Transform,
      .="|",
      skew=round(skew,decimal),
      kurt=round(kurt,decimal),
      .="|",
      SW_W=round(SW_W,decimal),
      SW_p.value=round(SW_p.value,decimal),
      .="|",
      KS_P=round(KS_P,decimal),
      KS_p.value=round(KS_p.value,decimal)
    )
  )
}else if((length(x)>=3)&(length(x)<=4)){
  NormalDistrTestFrame=
    as.data.frame(cbind(sig,Transform,.="|",
                        skew=round(skew,decimal),
                        kurt=round(kurt,decimal),
                        .="|",
                        SW_W=round(SW_W,decimal),
                        SW_p.value=round(SW_p.value,decimal)
    ))
}else if(length(x)>5000){
  NormalDistrTestFrame=as.data.frame(
    cbind(
      sig,Transform,
      .="|",
      skew=round(skew,decimal),
      kurt=round(kurt,decimal),
      .="|",
      KS_D=round(KS_P,decimal),
      KS_p.value=round(KS_p.value,decimal)
    )
  )
}
rownames(NormalDistrTestFrame)=NULL
return(NormalDistrTestFrame)
}
yikeshu0611/NormalDistrTest documentation built on May 24, 2019, 8:55 a.m.