我想估算以下回归模型:y = b0 + b1 * X + b2 * x * 虚拟
其中y和x是连续的,而dummy是分类的(虚拟变量)。
换句话说,我希望我的估计模型可以估计三个系数:bo,b1和b2。
我已经尝试过以下方法...
lm(y ~ x + x * dummy, data)
但是它将变量[[dummy添加到模型中,并估计dummy的系数。
以下内容与我想做的很接近,但是它将交互作用项转换为二进制变量(真/假)。lm(y ~ x + I(!x * dummy), data)
对于复制,请考虑以下示例:
data <- tibble(y=rnorm(10), x=runif(10), dummy=ifelse(x>.5,1,0)) lm(y ~ x + x * dummy, data) lm(y ~ x + I(!x * dummy), data)
谢谢
> summary(lm(y ~ x+ x : dummy, data))
Call:
lm(formula = y ~ x + x:dummy, data = data)
Residuals:
Min 1Q Median 3Q Max
-0.61312 -0.15558 -0.00354 0.23965 0.47351
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.06755 0.36162 0.187 0.857
x 0.94953 1.18299 0.803 0.449
x:dummy -1.10220 0.88112 -1.251 0.251
Residual standard error: 0.4148 on 7 degrees of freedom
Multiple R-squared: 0.2645, Adjusted R-squared: 0.05438
F-statistic: 1.259 on 2 and 7 DF, p-value: 0.3412