# Re: st: RE: finding a value from a distribution based on percentile

 From "Austin Nichols" To statalist@hsphsun2.harvard.edu Subject Re: st: RE: finding a value from a distribution based on percentile Date Mon, 19 Mar 2007 15:50:59 -0400

```Shuaizhang Feng--
Ignoring the bad idea that imputing in this way might be, and assuming
that the "predicted percentiles" are in the set {1/100, ... 99/100},
you might try this:

clear
input y x
200   .
100   .
.    0.5
.    0.1
234  .
end
gen yi=y
gen oldobs=_n
gsort -yi, mf
gen newobs=_n
su newobs if mi(yi)
forv i=1/`r(max)' {
_pctile y, nq(100)
qui replace yi=r(r`=int(x[`i']*100)') in `i'
}
sort oldobs
drop oldobs newobs
li

Note also that _pctile allows weights.

On 3/19/07, Shuaizhang Feng <fengsz@yahoo.com> wrote:
```
```The real situation I am facing is: I have a variable y
which has certain values missing, I would like to
impute the missing values based on a predicted
percentil.  So the x variable contains a percentile
that I will use to forecast the y variables for those
missing.

Example:
y     x
200   .
100   .
.    0.5
.    0.1
234  .

How can I assign a value for those missing y(s) based
on the perceniles from x?

In this example, I guess the y value corresponding to
x=0.5 is 200 and for x=0.1 is 100.  Note I am using
the distribution of y only for those observed.
```
```*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```