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

st: Generate new variable with an implicit formulation

From   Bob Hammond <>
Subject   st: Generate new variable with an implicit formulation
Date   Wed, 08 Aug 2007 10:43:13 -0500

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 Hammond
Department of Economics
Vanderbilt University <>
* For searches and help try:

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