R/mix.hist.R

Defines functions mix.hist

Documented in mix.hist

##################################################################
##########     Plot histogram                #####################

mix.hist <- function(y, model, breaks=40, main=paste("Histogram of" , class(model),"fit"), col.hist="grey", col.dens="red", ...){
  if((class(model) != "t") && (class(model) != "Skew.t") && (class(model) != "Skew.cn") && (class(model) != "Skew.slash") && (class(model) != "Skew.normal") && (class(model) != "Normal")) stop(paste("Class of family",class(model),"not recognized.",sep=" "))
  y <- as.matrix(y) 
  if (dim(y)[2] != 1) stop("The mix.hist function is only appropriate for the univariate analysis.\n")
   
     if ((class(model) == "Skew.t") || class(model) == "t"){
      #### grafico ajuste
      hist(y, breaks = breaks,probability=T,col=col.hist,main=main,...)
      xx=seq(min(y),max(y),(max(y)-min(y))/1000)
      lines(xx,d.mixedST(xx, model$pii, model$mu, model$sigma2, model$shape, model$nu),col=col.dens)
     }
     if (class(model) == "Skew.cn"){
      hist(y, breaks = breaks,probability=T,col=col.hist,main=main,...)
      xx=seq(min(y),max(y),(max(y)-min(y))/1000)
      lines(xx,d.mixedSNC(xx, model$pii, model$mu, model$sigma2, model$shape, model$nu),col=col.dens)
     }
     if (class(model) == "Skew.slash"){
      hist(y, breaks = breaks,probability=T,col=col.hist,main=main,...)
      xx=seq(min(y),max(y),(max(y)-min(y))/1000)
      lines(xx,d.mixedSS(xx, model$pii, model$mu, model$sigma2, model$shape, model$nu),col=col.dens)
     }
     if ((class(model) == "Skew.normal") || (class(model) == "Normal")){
      hist(y, breaks = breaks,probability=T,col=col.hist,main=main,...)
      xx=seq(min(y),max(y),(max(y)-min(y))/1000)
      lines(xx,d.mixedSN(xx, model$pii, model$mu, model$sigma2, model$shape),col=col.dens)
     }
}

Try the mixsmsn package in your browser

Any scripts or data that you put into this service are public.

mixsmsn documentation built on Oct. 6, 2021, 5:10 p.m.