Dear Philipe

You can use optimize (see ?optimize), e.g. :

funToMin <- function(x, data, a = 1, b = 1) {
  sum((data[data[,"group"]=="A","y"] - x)^2) +
    sum((data[data[,"group"]=="B","y"] - a*x - b)^2)
}

dat <- data.frame(y = rnorm(100), group = rep(c("A","B"), each = 50))
(m <- optimize(function(x) funToMin(x,dat), interval = c(-10,10)))

Please be careful. This function is only for demonstration
issue. It is bad programmed. It works if x is only 1 number,
but if you call the function, using a vector instead of a single
number (and I do not prevent this by checking it), you will get
warnings or errors. Therefore it will be better to use your own,
hopefully better programmed function in optimize.

Regards,

Christoph Buser

--------------------------------------------------------------
Christoph Buser <[EMAIL PROTECTED]>
Seminar fuer Statistik, LEO C13
ETH (Federal Inst. Technology)  8092 Zurich      SWITZERLAND
phone: x-41-44-632-4673         fax: 632-1228
http://stat.ethz.ch/~buser/
--------------------------------------------------------------


Philippe Lamy writes:
 > Hi,
 > 
 > I have a model with differents observations Xi.
 > Each observation belongs to a group, either A or B.
 > I would like to minimize a fonction like :
 > 
 > sum( Xi - Z)^2 + sum (Xi - aZ -b)^2
 >  A                B
 > 
 > The first sum contains all observations from group A and the second all
 > observations from group B.
 > I want to find the Z-value wich minimize this function. a and b are 
 > predefined
 > parameters.
 > 
 > Thanks for help.
 > 
 > Philippe
 > 
 > ______________________________________________
 >

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to