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" <>
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:

input y x
200   .
100   .
.    0.5
.    0.1
234  .
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

Note also that _pctile allows weights.

On 3/19/07, Shuaizhang Feng <> 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

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:

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