#' To get proper Normal Dstribution test and some transfromations
#'
#' @param x the data to be tested
#' @param decimal the number of decimals with defalut 3
#'
#' @return test resultes
#' @export
#'
#' @examples Normal_Distr_Test(x)
Normal_Distr_Test<-function(x,decimal=3){
x=na.omit(x)
if (length(x) >2){
cat("sample size:",length(x),'\n')
if ((length(x)>4) &
(length(x)<=5000)){
message("SW:Shapiro-Wilk test(sample size:3~5000)\nKS:Kolmogorov-Smirnov test(using lillie test;sample size:5~5000)\n***:p.value<0.001\n** :p.value<0.01 \n* :p.value<=0.05 \n. :p.value>0.05")
}else if((length(x)>=3) &
(length(x)<=4)){
message("SW:Shapiro-Wilk test(sample size:3~5000)\n***:p.value<0.001\n** :p.value<0.01 \n* :p.value<=0.05 \n. :p.value>0.05")
}else if(length(x)>5000){
message("KS:Kolmogorov-Smirnov test(sample size:5~5000)\n***:p.value<0.001\n** :p.value<0.01 \n* :p.value<=0.05 \n. :p.value>0.05")
}
if (timeDate::skewness(x)>=0){
Normal_Test_unit(x=x,decimal = decimal)
}else{
# if skewness of x is minus 0
ResultsX=Normal_Test_unit(x=x,decimal = decimal)
print(ResultsX)
x_new=max(x)+1-x
cat("\n")
cat("The skewness of x itself is",round(timeDate::skewness(x)[1],decimal));message(" <0")
cat("We transform x as formula:");message("x_new=max(x)+1-x")
message("The distribution of x_new was tested as follows:")
ResultsX_new=Normal_Test_unit(x=x_new,decimal = decimal)
return(ResultsX_new)
}
}else{
stop("Sample size is less 2.")
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.