Sampling random numbers from a distribution with asymmetric confidence intervals generated by a bootstrapped estimate So, I'm working on a problem where I have a sample distribution with a reported, mean and an asymmetric confidence interval from bootstrapped sampling of the initial population (this is from a meta-analysis - so, I also have the # of bootstrap replicates and the original sample size).  Given this information, I would like to draw a random variable (I'm then going use it to construct my own bootstrapped sample using other similar variables - basically, a meta-analysis of meta-analyses).  I'm sure this is simple, but I'm completely blanking on how one would do this - is there an appropriate distribution to draw from or way to back-engineer reported results to create one?  R code would be great (if there is a package to do this), or just a see-this-reference, as I'm drawing a blank.
N.B. I think my larger question here was, if you have the quantiles for a population, but no other distributional knowledge or data, is it possible to create a method to draw random numbers based on that information.  But perhaps the answer there is no.
 A: I don't have a full answer for you, but several issues are worth pointing out:


*

*You cannot draw random values from a confidence interval of a parameter, because it is a frequentist concept, and parameters do not have distributions in frequentist statistics. The most you can do is to try to sample the sampling distribution of the parameter estimate.

*If you want to bootstrap a meta-analysis, bootstrap the studies that go into it.

*Most assymetric confidence intervals are symmetric on some other scale, typically the log-scale. For example, the typical confidence interval for an odds ratio (OR) is constructed as symmetric for log(OR) and then exponentiated. So I would certainly check whether a log-transform would make the confidence interval symmetric.

A: It seems to me that your question is ill-posed (which was pointed out by Aniko already). If  you know the mean, your uncertainty about it is zero, so the confidence interval should have zero length.
Assuming that you somehow have the mean right, in whatever sense is suitable for you, and a confidence interval that comes from another source, you can reverse-engineer Johnson's (1978) procedure to come up with a measure of skewness of the original distribution (see also Chen's (1995) extension), and then pick say a skew-normal or a (shifted, if needed) gamma distribution with the required properties.
UPDATE: Let us look at Johnson (1978) formula (2.7) for the confidence interval: $[\bar x + \kappa / 6 s^2 n] \pm t_\alpha(n-1) s / \sqrt{n}$, where I refer to the skewness of the original distribution as $\kappa$. If you are given the mean xbar, the lower limit cl, the upper limit cu and the sample size n (we'd have to assume i.i.d. data there), then
    talpha = qt(p=0.975,df=n-1)
    s = (cu - cl)*sqrt(n)/(2*talpha)
    kappa = 6*s*s*n*( cl - xbar + talpha*s/sqrt(n) )
    gamma.shape = 4/(kappa*kappa)
    gamma.scale = s/sqrt(gamma.shape)
    gamma.shift = xbar - gamma.shape*gamma.scale
    simulated.data = rgamma(n = simulated.n, shape = gamma.shape, scale = gamma.scale) + gamma.shift

See if it produces reasonable results. I like the skew-normal distribution better, as the normal distribution, a standard reference, can be produced with the skew.normal.shape = 0 rather than gamma.shape = infinity in the gamma case, but the computations are more cumbersome.
A: Here is a half-baked idea for trying to avoid the "impossible" problem of sampling from a confidence interval. If you want to do a bootstrap analysis of those meta-analyses, you should be bootstrapping the result of each meta-analysis, not its potential results. The only problem is that those meta-analyses have different precision, so you probably want them to have different weights for the bootstrap sample. The weight might depend on the total number of subjects that went into each meta-analysis, or the width of the confidence interval (which are, of course, related). In many similar situations inverse variance weighting turns out to be optimal, so I think weighing by sample size or by the inverse square of the width of the confidence interval would be reasonable choices. Of course, for the confidence interval width it would be better to have a scale on which the interval is somewhat symmetric, but for ratios the log-transform would (approximately) do that, even for a bootstrap interval.
Again, I am not sure how well this would work - you might want to run some simulation studies, but it might be a more straightforward approach.
A: Unfortunately there are an infinite number of distributions that could have resulted in the confidence interval given.  One option to generate from one of those distributions would be to generate a random uniform, if it is below 0.025 (assuming 95% confidence interval) then choose a value slightly less than the lower confidence limit, if it is higher than 0.975 choose a value slightly higher than the upper confidence limit, otherwise choose a uniform between the 2 confidence limits.
Something a little more realistic would be to use the logspline package in R.  The oldlogspline function allows you to specify data as interval censored, so you could specify that 5 points came from less than the lower confidence limit, 5 points came from greater than the upper confidence limit, and 190 points came from between the 2 confidence limits.  This would then give a smooth curve with approximately the confidence limits that you have, you could then change some of the 190 points from interval censored to actual values close to the mean to get the mean and asymmetry.  Then tweak the values of those points until the mean and quantiles are close enough.  Then the roldlogspline function will generate data from the distribution that you created.  It probably will not be the exact distribution that generated the bootstrap mean and interval, but it is one of those that could have and would have good properties.
