如何在 R 中合并虚拟人?



我在SPSS中做了几个虚拟变量,想知道我是否可以在R中使用相同的变量?是否有任何特殊的代码,你需要放在变量(如因子(…)的分类)之前,或者你可以只是将它们添加到你的模型,而不修改?

我需要使用R,因为我正在做一个多层次的分析,我想使用两个个体作为上下文变量。

提前感谢您的帮助!亲切的问候,劳伦

这里有几个选项。首先,正如@Edwin所建议的,您可以使用factor()函数将分类变量转换为因子类。在大多数线性模型中,R会自动将因子最小化(这可以通过检查模型对象来看到)。

当然,我认为没有什么可以阻止你在线性模型中简单地包括1/0假人,因为每个定义都允许它们。当然,然后您需要手动跟踪它们,根据它们的含义和参考类别。

因此,第一种策略可能是最方便的。

为了在一定程度上扩展答案,r中有几个虚拟选项,默认是使用contr.treatment()实现的虚拟编码。这将使用1/0假数,这是无序因子的默认选项。请参见相应的options()输出部分进行验证。然而,也有其他类型的对比是有用的。根据我的经验,偏差编码通常是一个很好的选择。它不同于默认的对比设置方式,因为它不是单个参考类别,而是采用组均值进行两两比较。在比较国家(或州)之间的情况下,这可能会很有趣,因为没有内在的理由将所有东西与一个特定的国家进行比较,但与所有国家的平均值进行比较是有意义的。这种对比是由contr.sum()设定的。或者,您可以手工构建自己的自定义矩阵,并通过contrasts(x) <- MyMatrix提供它。

关于R中对比类型的更多信息可以在这里找到。

最新更新