Hay paquetes para ello.
Un ejemplo es glmc - Modelos lineales generalizados sujetos a restricciones.
Vea la documentación aquí: http://cran.r-project.org/web/packages/glmc/glmc.pdf
Una muy buena visión general de las técnicas de optimización con el uso de conservantes se puede encontrar aquí: http://zoonek.free.fr/blosxom/R/2012-06-01_Optimization.html
Código de ejemplo (de la documentación de Glmc):
library(glmc)
#Specify the data.
n <- rbind(c(5903,230),c(5157,350))
mat <- matrix(0,nrow=sum(n),ncol=2)
mat <- rbind(matrix(1,nrow=n[1,1],ncol=1)%*%c(0,0),
matrix(1,nrow=n[1,2],ncol=1)%*%c(0,1),
matrix(1,nrow=n[2,1],ncol=1)%*%c(1,0),
matrix(1,nrow=n[2,2],ncol=1)%*%c(1,1))
#Specifying the population constraints.
gfr <- .06179*matrix(1,nrow=nrow(mat),ncol=1)
g <- matrix(1,nrow=nrow(mat),ncol=1)
amat <- matrix(mat[,2]*g-gfr,ncol=1)
hrh <- data.frame(birth=mat[,2], child=mat[,1], constraints=amat)
gfit <- glmc(birth~child, data=hrh, family="binomial",emplik.method="Owen",
control=glmc.control(maxit.glm=10,maxit.weights=200,
itertrace.weights=TRUE,gradtol.weights=10^(-6)))
summary.glmc(gfit)
3 votos
Por favor, no hacer crossposting simultáneamente aquí y en SO.
0 votos
Ciertamente, señor :)