If you want to go ahead with this in cold blood, you might look at the 'nnls' 
package.  

It fits regressions with non-negative coefficients.  This might seem like the 
very opposite of what you want, but it essentially gets you there.  You have to 
be prepared for the coefficient to go to zero though, if according to the data 
it really needs to be positive to minimise the residual SSQ.

Here's what you do:

* For any predictor, x, for which you want the regression coefficient to be 
non-positive, use -x as the predictor in the model.  Think about it.

* (The real trick) For any predictor, z, whose coefficient is not to be 
constrained at all, put *both* z and -z in as predictors.  The algorithm will 
choose only one of them.

nnls is now quite an old package and the interface is rather klunky, but the 
method is still OK.

Bill Venables.

-----Original Message-----
From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On 
Behalf Of Jeff Newmiller
Sent: Wednesday, 1 June 2011 11:38 AM
To: J S; r-help@r-project.org
Subject: Re: [R] Forcing a negative slope in linear regression?

If you force the slope, it is no longer a regression, so no. It is best to add 
those other dependent variables to the regression and evaluate whether their 
presence causes the fit to improve and yield signs of coefficients that match 
what you expect.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.

J S <yulya...@gmail.com> wrote:

Dear forum members,



How can I force a negative slope in a linear regression even though the
slope might be positive?



I will need it for the purpose of determining the trend due reasons other
than biological because the biological (genetic) trend is not positive for
these data.



Thanks. Julia




Example of the data:



[1] 1.254 1.235 1.261 0.952 1.202 1.152 0.801 0.424 0.330 0.251 0.229 0.246

[13] 0.414 0.494 0.578 0.628 0.514 0.594 0.827 0.812 0.629 0.928 0.707 0.976

[25] 1.099 1.039 1.272 1.398 1.926 1.987 2.132 1.644 2.174 2.453 2.392 3.002

[37] 3.352 2.410 2.206 2.692 2.653 1.604 2.536 3.070 3.137 4.187 4.803 4.575

[49] 4.580 3.779 4.201 5.685 4.915 5.929 5.474 6.140 5.182 5.524 5.848 5.830

[61] 5.800 7.517 6.422

        [[alternative HTML version deleted]]

_____________________________________________

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.


        [[alternative HTML version deleted]]

______________________________________________
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