On Oct 15, 2009, at 5:18 PM, leohearn wrote:
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))}
What is this function supposed to represent?
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.
Apparently you do understand that at zero that function would evaluate
to 1-1- (1/2)*(1-1+1-1) for any value of the parameters.
If you plot that function over the domain specified, you should see
why there are no other solutions. Even with the first set of
parameters f(1) is
[1] 2.269996e-05 # which is close but not equal to zero
Sometimes the trivial answer is the _only_ answer.
Thanks in advance for your help.
--
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.