我的数据框中有 167 个虚拟变量以及其他变量。为了创建一个新的预测数据,我希望将第一个虚拟变量的值更改为 1,并将所有其他变量的值替换为零。我的虚拟变量被称为 District_code2、 District_code3、 District_code4 等等。所以我想修复 District_code2 取值 1 和所有其他取值 0。
我使用因子创建了这些虚拟变量,并使用 model.matrix 将它们添加到我的数据中
dummies = data.frame(model.matrix(~district_code, data=data_wht_81_09))
#to get rid of the intercept
dummies1<-dummies[,-1]
我需要在我的数据中包含假人,因为在我运行回归之后,我不希望在我的预测中考虑所有假人的系数。我想绘制关于一个变量的拟合值,将所有其他变量保持在其平均值。对于地区假人,这意味着向所有拟合值添加一个常数。因此,我想将所有其他虚拟变量的值设置为 0。可能有更有效的方法来做到这一点。下面我将展示对象虚拟变量的示例。
dput(head(dummies1,4))
structure(list(district_code2 = c(0, 0, 0, 0), district_code3 = c(0,
0, 0, 0), district_code4 = c(0, 0, 0, 0), district_code5 = c(0,
0, 0, 0), district_code6 = c(0, 0, 0, 0), district_code7 = c(0,0, 0, 0),
我只显示前 6 个变量。我怎样才能做到这一点?提前谢谢了。