[R] Generating Random Numbers after Momentfitting
Jole, M. van
M.v.Jole at student.tue.nl
Mon Jun 19 09:59:08 CEST 2006
L.S.
After moment fitting, which I programmed as follows:
#Function which, given the first two moment, computates the density,
#according to momentfitting
momentfit<-function(ES,c){
res<-(1:5)
if(c<=1){
k<-floor(1/c^2)
p<-((1)/(1+c^2))*((k+1)*c^(2)-sqrt((k+1)*(1+c^(2))-(k+1)^(2)*c^(2)))
mu<-(k+1-p)/ES
res[1]<-0
res[2]<-k
res[3]<-p
res[4]<-mu
res[5]<-0
}
if(c>1){
p1<-((1)/(2))*(1+sqrt((c^2-1)/(c^2+1)))
p2<-1-p1
mu1<-2*p1/ES
mu2<-2*p2/ES
res[1]<-1
res[2]<-p1
res[3]<-p2
res[4]<-mu1
res[5]<-mu2
}
return(res)
}
I have the either one of the following distributionfunctions:
ES<-a
c<-b
para<-momenfit(a,c)
if(para[1]==0){
fun1<-function(x){(para[3]*dgamma(x,para[2],para[4])+(1-para[3])*dgamma(x,para[2]+1,para[4]))}
}
if(para[1]==1){
fun2<-function(x){(para[2]*dgamma(x,1,para[4])+para[3]*dgamma(x,1,para[5]))}
}
I now want to generate a random number according to the above distrubutions. Can somebody help me? Thanks.
Martin
More information about the R-help
mailing list