如何创建虚拟变量以用于R中的GLM?

时间:2017-03-14 21:42:40

标签: r glm

我正在尝试运行一个二进制GLM(在R中,但是对其他软件进行测试),我的DV是ay / n,我的IDV包括诸如性别,年龄组(新生儿,亚成体等),长度,重量一对其他人。

我想知道我是否需要虚拟变量,如果需要,我如何将具有2个以上可能结果的因子转换为虚拟变量。

1 个答案:

答案 0 :(得分:0)

您所说的是设计矩阵,一个包含观察行的矩阵和包含系数的列(包括系数和虚拟变量)。

R将使用 model.matrix 在内部为您自动创建设计矩阵,因此您无需执行任何操作。只需确保指定正确的变量即可。您的分类变量应存储为因子。

如果您想要确信,请在R中键入glm作为源代码。你会看到这个:

X <- if (!is.empty.model(mt)) 
    model.matrix(mt, mf, contrasts)

是。您可以创建自己的设计矩阵并将其提供给glm函数。 ?glm给你:

glm.fit(x, y ...

按照文档。