R/biGaussian.R

Defines functions dBi.Gaussian Bi.Gaussian.Sim

dBi.Gaussian=function(X,alpha=0,sigma1,sigma2)
{
  result=0
  result[which(X<alpha)]<-dnorm(X[which(X<alpha)],alpha,sigma1)*sigma1/(sigma1+sigma2)
  result[which(X>=alpha)]<-dnorm(X[which(X>=alpha)],alpha,sigma2)*sigma2/(sigma1+sigma2)
  return(result) 
}

Bi.Gaussian.Sim=function(mode,sigma1,sigma2,n)
{
  weight = c(sigma1, sigma2)
  mu = c(0,0)
  sigma = c(sigma1,sigma2)
  z = sample(c(1,2),size=n, prob=weight,replace=TRUE)
  
  r = stats::rnorm(n,mean=mu[z],sd=sigma[z])
  if((z==1)&(r>=0)){r=-r
  }else if((z==2)&(r<=0)){r=-r}
  return(r)
}

Try the BANFF package in your browser

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

BANFF documentation built on May 29, 2017, 11:59 a.m.