我在R中对人均天然气使用量进行简单回归.回归公式如下:
gas_b <- lm(log(gasq_pop) ~ log(gasp) + log(pcincome) + log(pn) +
log(pd) + log(ps) + log(years),
data=gas)
summary(gas_b)
Run Code Online (Sandbox Code Playgroud)
我想包括β系数log(pn)+log(pd)+log(ps)=1(总和为1)的线性约束.有没有一种简单的方法lm在R 中实现这个(可能在函数中)而不必使用constrOptim()函数?
修改您的回归如下:
gas_b <- lm(log(gasq_pop) - log(ps) ~ log(gasp) + log(pcincome) +
I(log(pn)-log(ps)) + I(log(pd)-log(ps)) + log(years), data=gas)
summary(gas_b)
Run Code Online (Sandbox Code Playgroud)
如果b=coef(gas_b),则相关系数为
log(pn): b[4]
log(pd): b[5]
log(ps): 1 - b[4] - b[5]
Run Code Online (Sandbox Code Playgroud)