#' To plot qq plot
#'
#' @param x your data
#'
#' @return several plots
#' @examples
#' x<-1:100
#' Normal_Distr_Test_qqnorm(x)
#' @export
Normal_Distr_Test_qqnorm<-function(x){
x=na.omit(x)
addd=0
if (length(x) >2){
xt1=x
addd=addd+1
xt2=suppressWarnings(log(x))
if ((!(NaN %in% xt2)) & (!(-Inf %in% xt2))& (!(Inf %in% xt2))){addd=addd+1}
xt3=suppressWarnings(x^2)
if ((!(NaN %in% xt3)) & (!(-Inf %in% xt3))& (!(Inf %in% xt3))){addd=addd+1}
xt4=suppressWarnings(x^3)
if ((!(NaN %in% xt4)) & (!(-Inf %in% xt4))& (!(Inf %in% xt4))){addd=addd+1}
xt5=suppressWarnings(sqrt(x))
if ((!(NaN %in% xt5)) & (!(-Inf %in% xt5))& (!(Inf %in% xt5))){addd=addd+1}
xt6=suppressWarnings(1/x)
if ((!(NaN %in% xt6)) & (!(-Inf %in% xt6))& (!(Inf %in% xt6))){addd=addd+1}
xt7=suppressWarnings(1/(x^2))
if ((!(NaN %in% xt7)) & (!(-Inf %in% xt7))& (!(Inf %in% xt7))){addd=addd+1}
xt8=suppressWarnings(1/(x^3))
if ((!(NaN %in% xt8)) & (!(-Inf %in% xt8))& (!(Inf %in% xt8))){addd=addd+1}
xt9=suppressWarnings(1/sqrt(x))
if ((!(NaN %in% xt9)) & (!(-Inf %in% xt9))& (!(Inf %in% xt9))){addd=addd+1}
xt10=suppressWarnings(asin(sqrt(x)))
if ((!(NaN %in% xt10)) & (!(-Inf %in% xt10))& (!(Inf %in% xt10))){addd=addd+1}
if (addd==1){
qqnorm(xt1,main ="identity")
qqline(xt1)
}else if((addd>=2) & (addd<=3)){
par(mfrow=c(1,3))
qqnorm(xt1,main ="identity")
qqline(xt1)
if ((!(NaN %in% xt2)) &(!(-Inf %in% xt2))& (!(Inf %in% xt2))){
qqnorm(xt2,main="qq:log(x)")
qqline(xt2)
}
if ((!(NaN %in% xt3)) & (!(-Inf %in% xt3))& (!(Inf %in% xt3))){
qqnorm(xt3,main="qq:x^2")
qqline(xt3)
}
if ((!(NaN %in% xt4)) & (!(-Inf %in% xt4))& (!(Inf %in% xt4))){
qqnorm(xt4,main="qq:x^3")
qqline(xt4)
}
if ((!(NaN %in% xt5)) & (!(-Inf %in% xt5))& (!(Inf %in% xt5))){
qqnorm(xt5,main="qq:sqrt(x)")
qqline(xt5)
}
if ((!(NaN %in% xt6)) & (!(-Inf %in% xt6))& (!(Inf %in% xt6))){
qqnorm(xt6,main="qq:1/x")
qqline(xt6)
}
if ((!(NaN %in% xt7)) & (!(-Inf %in% xt7))& (!(Inf %in% xt7))){
qqnorm(xt7,main="qq:1/(x^2)")
qqline(xt7)
}
if ((!(NaN %in% xt8)) & (!(-Inf %in% xt8))& (!(Inf %in% xt8))){
qqnorm(xt8,main="qq:1/(x^3)")
qqline(xt8)
}
if ((!(NaN %in% xt9)) & (!(-Inf %in% xt9))& (!(Inf %in% xt9))){
qqnorm(xt9,main="qq:1/sqrt(x)")
qqline(xt9)
}
if ((!(NaN %in% xt10)) & (!(-Inf %in% xt10))& (!(Inf %in% xt10))){
qqnorm(xt10,main="qq:asin(sqrt(x))")
qqline(xt10)
}
}else if((addd>=4) & (addd<=6)){
par(mfrow=c(2,3))
qqnorm(xt1,main ="identity")
qqline(xt1)
if ((!(NaN %in% xt2)) &(!(-Inf %in% xt2))& (!(Inf %in% xt2))){
qqnorm(xt2,main="qq:log(x)")
qqline(xt2)
}
if ((!(NaN %in% xt3)) & (!(-Inf %in% xt3))& (!(Inf %in% xt3))){
qqnorm(xt3,main="qq:x^2")
qqline(xt3)
}
if ((!(NaN %in% xt4)) & (!(-Inf %in% xt4))& (!(Inf %in% xt4))){
qqnorm(xt4,main="qq:x^3")
qqline(xt4)
}
if ((!(NaN %in% xt5)) & (!(-Inf %in% xt5))& (!(Inf %in% xt5))){
qqnorm(xt5,main="qq:sqrt(x)")
qqline(xt5)
}
if ((!(NaN %in% xt6)) & (!(-Inf %in% xt6))& (!(Inf %in% xt6))){
qqnorm(xt6,main="qq:1/x")
qqline(xt6)
}
if ((!(NaN %in% xt7)) & (!(-Inf %in% xt7))& (!(Inf %in% xt7))){
qqnorm(xt7,main="qq:1/(x^2)")
qqline(xt7)
}
if ((!(NaN %in% xt8)) & (!(-Inf %in% xt8))& (!(Inf %in% xt8))){
qqnorm(xt8,main="qq:1/(x^3)")
qqline(xt8)
}
if ((!(NaN %in% xt9)) & (!(-Inf %in% xt9))& (!(Inf %in% xt9))){
qqnorm(xt9,main="qq:1/sqrt(x)")
qqline(xt9)
}
if ((!(NaN %in% xt10)) & (!(-Inf %in% xt10))& (!(Inf %in% xt10))){
qqnorm(xt10,main="qq:asin(sqrt(x))")
qqline(xt10)
}
}else if((addd>=7) & (addd<=9)){
par(mfrow=c(3,3))
qqnorm(xt1,main ="identity")
qqline(xt1)
if ((!(NaN %in% xt2)) &(!(-Inf %in% xt2))& (!(Inf %in% xt2))){
qqnorm(xt2,main="qq:log(x)")
qqline(xt2)
}
if ((!(NaN %in% xt3)) & (!(-Inf %in% xt3))& (!(Inf %in% xt3))){
qqnorm(xt3,main="qq:x^2")
qqline(xt3)
}
if ((!(NaN %in% xt4)) & (!(-Inf %in% xt4))& (!(Inf %in% xt4))){
qqnorm(xt4,main="qq:x^3")
qqline(xt4)
}
if ((!(NaN %in% xt5)) & (!(-Inf %in% xt5))& (!(Inf %in% xt5))){
qqnorm(xt5,main="qq:sqrt(x)")
qqline(xt5)
}
if ((!(NaN %in% xt6)) & (!(-Inf %in% xt6))& (!(Inf %in% xt6))){
qqnorm(xt6,main="qq:1/x")
qqline(xt6)
}
if ((!(NaN %in% xt7)) & (!(-Inf %in% xt7))& (!(Inf %in% xt7))){
qqnorm(xt7,main="qq:1/(x^2)")
qqline(xt7)
}
if ((!(NaN %in% xt8)) & (!(-Inf %in% xt8))& (!(Inf %in% xt8))){
qqnorm(xt8,main="qq:1/(x^3)")
qqline(xt8)
}
if ((!(NaN %in% xt9)) & (!(-Inf %in% xt9))& (!(Inf %in% xt9))){
qqnorm(xt9,main="qq:1/sqrt(x)")
qqline(xt9)
}
if ((!(NaN %in% xt10)) & (!(-Inf %in% xt10))& (!(Inf %in% xt10))){
qqnorm(xt10,main="qq:asin(sqrt(x))")
qqline(xt10)
}
}else if(addd==10){
par(mfrow=c(4,3))
qqnorm(xt1,main ="identity")
qqline(xt1)
if ((!(NaN %in% xt2)) &(!(-Inf %in% xt2))& (!(Inf %in% xt2))){
qqnorm(xt2,main="qq:log(x)")
qqline(xt2)
}
if ((!(NaN %in% xt3)) & (!(-Inf %in% xt3))& (!(Inf %in% xt3))){
qqnorm(xt3,main="qq:x^2")
qqline(xt3)
}
if ((!(NaN %in% xt4)) & (!(-Inf %in% xt4))& (!(Inf %in% xt4))){
qqnorm(xt4,main="qq:x^3")
qqline(xt4)
}
if ((!(NaN %in% xt5)) & (!(-Inf %in% xt5))& (!(Inf %in% xt5))){
qqnorm(xt5,main="qq:sqrt(x)")
qqline(xt5)
}
if ((!(NaN %in% xt6)) & (!(-Inf %in% xt6))& (!(Inf %in% xt6))){
qqnorm(xt6,main="qq:1/x")
qqline(xt6)
}
if ((!(NaN %in% xt7)) & (!(-Inf %in% xt7))& (!(Inf %in% xt7))){
qqnorm(xt7,main="qq:1/(x^2)")
qqline(xt7)
}
if ((!(NaN %in% xt8)) & (!(-Inf %in% xt8))& (!(Inf %in% xt8))){
qqnorm(xt8,main="qq:1/(x^3)")
qqline(xt8)
}
if ((!(NaN %in% xt9)) & (!(-Inf %in% xt9))& (!(Inf %in% xt9))){
qqnorm(xt9,main="qq:1/sqrt(x)")
qqline(xt9)
}
if ((!(NaN %in% xt10)) & (!(-Inf %in% xt10))& (!(Inf %in% xt10))){
qqnorm(xt10,main="qq:asin(sqrt(x))")
qqline(xt10)
}
}
}else{
stop("Sample size is less than 2")
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.