I managed to solve the problem myself without using this code. thx
2011-11-24 12:26 keltezéssel, Kehl Dániel írta: > Dear Community, > > I am trying to write code for the following problem. > Lets assume we have a beta distribution. > I know one quantile, lets say, 10% of the mass lies above .8, that is > between .8 and 1. > In addition, I know that the average of this "truncated tail" is a > given number, lets say .86. > I have found the beta.select function in the LearnBayes package, which > is as follows: > > function (quantile1, quantile2) > { > betaprior1 = function(K, x, p) { > m.lo = 0 > m.hi = 1 > flag = 0 > while (flag == 0) { > m0 = (m.lo + m.hi)/2 > p0 = pbeta(x, K * m0, K * (1 - m0)) > if (p0 < p) > m.hi = m0 > else m.lo = m0 > if (abs(p0 - p) < 1e-04) > flag = 1 > } > return(m0) > } > p1 = quantile1$p > x1 = quantile1$x > p2 = quantile2$p > x2 = quantile2$x > logK = seq(-3, 8, length = 100) > K = exp(logK) > m = sapply(K, betaprior1, x1, p1) > prob2 = pbeta(x2, K * m, K * (1 - m)) > ind = ((prob2 > 0) & (prob2 < 1)) > app = approx(prob2[ind], logK[ind], p2) > K0 = exp(app$y) > m0 = betaprior1(K0, x1, p1) > return(round(K0 * c(m0, (1 - m0)), 2)) > } > > I assume one could change this code to get the results I need, but > some parts of the function are not clear for me, any help would be > greatly appreciated. > > Thanks a lot: > Daniel [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.