|
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
st: Generate new variable with an implicit formulation
I would like to define a new variable based on two current variables,
but the new variable cannot be expressed as an explicit function of the
current variables. The relationship is:
x = n*y^(n-1) - (n-1)*y^n
where I have data on x and n and would like to create a new variable, y.
x and y are restricted to the real numbers on the open interval (0,1)
and n is restricted to being a positive integer. Under these
restrictions, the function is well-behaved and provides a unique
solution, but not an explicit formulation. I can generate y with the
following loop:
forvalues i=0(0.001)1 {
replace y=`i' if x - n*`i'^(n-1) + (n-1)*`i'^n < 0.0001 & x -
n*`i'^(n-1) + (n-1)*`i'^n > -0.0001
}
but I am wondering if there is a more efficient and precise way. If this
type of loop is best, what precision would you recommend for the steps
of `i’ and the tolerance (the ><0.0001)? (I’m on Intercooled Stata 9 for
Windows if that matters.) Thanks in advance,
Bob
--
------------------------------------------------------------------------
Bob Hammond
Department of Economics
Vanderbilt University
http://people.vanderbilt.edu/~robert.g.hammond/
<http://people.vanderbilt.edu/%7Erobert.g.hammond/>
*
* 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/