我正在与R一起研究145个观察样本。我创建了五个子样本,每个子样本有29个观察值,而响应变量q
已经排序。因此,subset1包含具有最低输出的29行数据帧,subset2包含以下29行等。
我正在回归预测变量q
,x1
ans x2
上的变量x3
。我现在需要进行两个实验:
x2
和x3
上的系数以及误差方差在5个OLS回归中相同。到目前为止,我的方法是使用允许执行面板回归的包plm
。但是,我不知道具体约束误差方差或特定系数。此外,我认为必须有一种方法可以使用R中包含的更基本的工具来做到这一点。
请不要犹豫,提供替代方法。在此先感谢您的帮助!
答案 0 :(得分:2)
看起来这就是你所需要的:
set.seed(0)
dat <- data.frame(q = sort(rnorm(145)), x1 = rnorm(145), x2 = rnorm(145),
x3 = rnorm(145), group = gl(5, 29))
fit <- lm(q ~ x1 * group + x2 + x3, data = dat)
#Coefficients:
#(Intercept) x1 group2 group3 group4 group5
# -1.211435 0.049316 0.610405 1.128571 1.631891 2.502886
# x2 x3 x1:group2 x1:group3 x1:group4 x1:group5
# -0.027927 -0.015151 -0.004244 -0.074085 -0.044885 -0.074637
在这里,我介绍了一个分组因子变量group
。所有五组的模型估计同时进行。用公式:
q ~ x1 * group + x2 + x3
我们所有组的x2
和x3
系数相同。虽然互动x1*group
表明我们对不同群体的x1
有不同的拦截和斜率。
如果您不希望每组有不同的拦截,您可以使用公式:
q ~ x1 + x1 : group + x2 + x3