# Re: [R] How to get the minimum ?

From: Christoph Buser <buser_at_stat.math.ethz.ch>
Date: Fri 08 Jul 2005 - 01:04:15 EST

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 <buser@stat.math.ethz.ch> 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