0

我在 SPSS 中创建了几个虚拟变量,想知道是否可以在 R 中使用相同的变量?是否需要在变量之前放置任何特殊代码(例如用于分类的 factor(...) )或者您可以将它们添加到模型中而不进行修改?

我需要使用 R,因为我正在进行多级分析,并且我想将两个个体都用作上下文变量。

在此先感谢您的帮助!亲切的问候,劳伦

4

1 回答 1

1

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

当然,我认为没有什么可以阻止您在线性模型中简单地包含 1/0 虚拟对象,因为它们在每个定义中都是允许的。当然,您需要手动跟踪它们,与它们的含义和参考类别相关。

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

为了稍微扩展答案,R 中有几个虚拟化选项。默认是用contr.treatment(). 这将使用 1/0 虚拟变量,它是无序因子的默认选项。请参阅相应的options()输出部分进行验证。然而,还有其他类型的对比可以使用。以我的经验,偏差编码通常是一个不错的选择。它与对比设置的默认方式不同,它不是采用单个参考类别,而是采用组平均值进行成对比较。在国家(或州)之间进行比较等情况下,这可能很有趣,因为没有内在理由将所有内容与一个特定国家进行比较,但与所有国家的平均值进行比较是有意义的。这种类型的对比度由contr.sum(). 或者,您可以手动构建自己的自定义矩阵并通过contrasts(x) <- MyMatrix.

有关 R 中对比度类型的更多信息,请参见此处

于 2013-05-08T11:08:04.720 回答