If 'F' is twice differentiable, this could be done fairly easily by writing 'F' as a function to be maximized with a1 = a + da, etc., and using the 'activePars' argument in maxNR{maxLik} to specify the constraints you want. More specifically, consider the following:
     Fmax <- function(x){
          -F(x[1], x[2], x[3], x[1]+x[4], x[2]+x[5], x[3]+x[6])
     }

You may know that if your 'F' is the negative of a log(likelihood), then you can test statistical hypothesis about whether a=a1, etc., using the fact that under commonly met regularity conditions, 2*log(likelihood ratio) is approximately distributed as chi-square. Moreover, this approximation is often quite good -- and can be evaluated with a simple Monte Carlo, permuting the order of your response variable if you have one. Hope this helps. Spencer Graves
Alex F. Bokov wrote:
Hello, and apologies for the upcoming naive questions. I am a biologist who is 
trying to teach himself the appropriate areas of math and stats. I welcome 
pointers to suggested background reading just as much as I do direct answers to 
my question.

Let's say I have a function F() that takes variables (a,b,c,a1,b1,c1) and returns x, and I want 
to find the values of these variables that result in a minimum value of x. That's a 
straightforward application of optim(). However, for the same function I also need to obtain 
values that return the minimum value of x subject to the following constraints: a=a1, b=b1, 
c=c1, a=a1 && b=b1, a=a1 && c=c1, ... and so on, for any combination of these 
constraints including a=a1, b=b1, c=c1. The brute force way to do this with optim() would be to 
write into F() an immense switch statement anticipating every possible combination of 
constrained variables. Obviously this is inefficient and unmaintainable. Therefore, my question 
is:

Is the purpose of constrOptim() this exact type of problem? If so, how does one 
express the constraint I described above in terms of the ui, ci, and theta 
parameters? Are there any introductory texts I should have read for this to be 
obvious to me from constrOptim's documentation?

If constrOptim() is not the answer to this problem, can anybody suggest any 
more elegant alterntives to the switch-statement-from-hell approach?

Thank you very, very much in advance. I thought I understood R reasonably well 
until I started banging my head against this problem!

______________________________________________
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.


______________________________________________
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.

Reply via email to