Solving an equation in R (and using a loop)
Thank you both for your help. I'll ask my advisor for help on the issue tomorrow as perhaps I've made a specification error or I'm taking the wrong approach entirely. I'm a master's student in economics; the equation is a CARA utility function, and the r represents the corresponding individual's coefficient of risk aversion. Perhaps I just have a selection bias since I am choosing from observations that only have x1 and x2, when I have some observations that go all the way up to x20. (so the part of f which follows the negative sign would be (1/n)(sum(1-exp(-rx(i)). I am solving for r when that equation equals 0, so, yes, I'm looking for the root. I'll try with a few more observations that have more xs. cheers Laura
leohearn wrote:
Hi
So, I have a dataset and I'm trying to solve for a parameter in an
equation using the dataset. Before applying more sophisticated statistical
techniques, I want to tell R to solve it out for each observation. I know
I have to use a loop for it (and I have done that before, but am a bit
rusty), but before I do that, I'm trying to get R to solve it for just one
observation, to make sure that I have that part right before applying to
the rest. However, when I do it, I get 0 for an answer, which is a valid
answer, but a trivial one. What am I doing wrong? (tips for the loop would
also be appreciated, but this is my main concern right now.)
Here's my code:
f<-function(r){1-exp(-r*b)-(1/2)*(1-exp(-r*x1)+1-exp(-r*x2))}
uniroot(f,c(0,1))$root
r is the unknown. I've plugged in a couple numbers from my data for b, x1,
and x2 such as:
b=5500
x1=0.01
x2=10000
and
b=198000
x1=10
x2=500000
and gotten 0 both times.
Thanks in advance for your help.
View this message in context: http://www.nabble.com/Solving-an-equation-in-R-%28and-using-a-loop%29-tp25916187p25917285.html Sent from the R help mailing list archive at Nabble.com.