我想知道是否有人知道如何限制lm或gls中的某些系数为正?
例如,我想要lm(y~x1 x2 … xn)或gls(y~x1 x2 … xn),我希望x1和x2的系数是非负的.
最佳答案 一种选择是使用nls(…),它允许指定参数的上限和下限.所以,像:
# not tested...
fit <- nls(y~a*x1 + b*x2 +c*x3...,data=mydata,
start=c(a=1,b=1,c=1...), lower=c(a=0,b=0,c=NA,...), algorithm="port")
阅读文档here.