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 <[email protected]> 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/