Senin, 04 April 2016

cara bangkit distribusi poisson di R

Fungsiuntukmembangkitkan data acakberdistribusieksponensial :
bangkiteksponensial = function(beta,n)
{
set.seed(2015)
  u = runif(n)
  x = (-beta)*log(1-u)

return(x)
}

Kemudiankitabangkitkandengannilai beta 0.35 dan n sebanyak 10, sehinggadidapathasilsebagaiberikut :
>source("D:\\bangkiteksponen.R")
>bangkiteksponensial(0.35,10)
 [1] 0.02207326 0.63957051 0.12414353 0.01117796 0.05220721 0.15249308
 [7] 0.24257038 0.02807110 0.36878517 0.25090585

Fungsiuntukmembangkitkan data acak yang berdistribusipoisson :
bangkitpoisson= function(lambda,n)
{
set.seed(2015)
 x = rep(1,n)
for (k in 0:n)
 {
  a=exp(-lambda)
  b=1
  i=0
  u=runif(1)
  b=b*u
while (b>a)
  {
   u=runif(1)
   b=b*u
   i=i+1
  }
x[k]=i
 }
return(x)
}
Kemudiankitabangkitkan data acaknyadengannilailamda = 1 dan n nyasebanyak 35, makakitaperoleh output sebagaiberikut :
>source("D:\\bangkitpoisson.R")
>bangkitpoisson(1,35)

 [1] 1 0 0 0 1 1 1 0 1 1 0 1 1 0 4 1 1 1 1 0 0 0 1 0 1 1 1 2 0 0 2 0 0 5 0

Tidak ada komentar:

Posting Komentar