On Tue, Mar 20, 2012 at 12:54 AM, priya fernandes <priyyafernan...@gmail.com> wrote: > Hi there, > > I am trying to use linear regression to solve the following equation - > > y <- c(0.2525, 0.3448, 0.2358, 0.3696, 0.2708, 0.1667, 0.2941, 0.2333, > 0.1500, 0.3077, 0.3462, 0.1667, 0.2500, 0.3214, 0.1364) > x2 <- c(0.368, 0.537, 0.379, 0.472, 0.401, 0.361, 0.644, 0.444, 0.440, > 0.676, 0.679, 0.622, 0.450, 0.379, 0.620) > x1 <- 1-x2 > > # equation > lmFit <- lm(y ~ x1 + x2) > > lmFit > Call: > lm(formula = y ~ x1 + x2) > > Coefficients: > (Intercept) x1 x2 > 0.30521 -0.09726 NA > > I would like to *constraint the coefficients of x1 and x2 to be between 0,1*. > Is there a way of adding constraints to lm? >
Assuming we set the intercept to zero the unconstrained solution does satisfy those constraints: lm(y ~ x1 + x2 + 0) An approach which explicitly set the constraints (also removing the intercept) would be nls: nls(y ~ a * x1 + b * x2, lower = c(a = 0, b = 0), upper = c(a = 1, b = 1), start = c(a = 0.5, b = 0.5), alg = "port") -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ 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.