Statalist The Stata Listserver


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

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


From   "Austin Nichols" <austinnichols@gmail.com>
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/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index