R中的model.matrix

时间:2014-12-17 21:44:19

标签: r matrix regression

我正在处理一个数据集,它只包含多级因子作为预测变量和二元响应变量。这是目前的数据框架。我想在集合上运行glmnet,所以我需要构建一个模型矩阵(model.matrix)。我在这里读到 All Levels of a Factor in a Model Matrix in R 每个因素的某个等级被视为等级。但是,我不知道这是否是因为在这种情况下有数字和因子变量?在任何情况下,有人可以粗略地告诉我如何从MASS的mtcars数据集构建模型矩阵

1 个答案:

答案 0 :(得分:1)

这是猜测,因为您还没有描述您正在使用的功能。我的预感是你正在使用一种机器学习算法,它要求你提供单独的反应向量和预测矩阵。 (如果我在这个问题上错了,那么你肯定需要提供更多细节。)

假设您使用mpg作为"结果" Y变量,仅使用第二和第三变量并构造"虚拟变量"只有第一个,这将是一个可以构建适当的X对象的model.matrix调用:

> model.matrix(~as.factor(cyl)+disp, mtcars[2:3])
                    (Intercept) as.factor(cyl)6 as.factor(cyl)8  disp
Mazda RX4                     1               1               0 160.0
Mazda RX4 Wag                 1               1               0 160.0
Datsun 710                    1               0               0 108.0
Hornet 4 Drive                1               1               0 258.0
Hornet Sportabout             1               0               1 360.0
Valiant                       1               1               0 225.0
Duster 360                    1               0               1 360.0
Merc 240D                     1               0               0 146.7
Merc 230                      1               0               0 140.8
Merc 280                      1               1               0 167.6
Merc 280C                     1               1               0 167.6
Merc 450SE                    1               0               1 275.8
##########Snipped remainder of output.

公式对象指定模型的性质。 (拦截)-term将是所有因子变量被引用的共享基础级别。