问题描述
我进行了一个简单的线性回归:针对学生的家庭社会地位(类别变量:富,中和穷)和学生的父母的一代(婴儿潮一代,X一代和Y一代)和其他数值变量进行评分。
我期望结果是2(社会地位为3-1)和2(世代为3-1)。但是,结果显示了这两个变量(3和3)的所有分类选项。我了解的是,R会自动舍弃评估中的一组。另外,我检查原始数据,两个变量都有3组。
我在这里想念什么?谢谢
解决方法
尽管您发现了编码错误,但我仍要回答您的问题:“我在这里遗漏了什么?”
您是对的,您应该期望在输出中打印3组中的2组,但是R不会“自动在估算中丢弃一组”。在输出中未命名的“组”将嵌入在截距中。例如,如果您的组是GroupA,GroupB和Group C,但是模型结果仅显示GroupB和GroupC,则GroupB的估算值将告诉您GroupB与GroupA的区别,而GroupC的估算值则告诉您该组的区别于在拦截器中找到的GroupA。
如果要更改因子的参考水平,可以使用relevel()
(https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/relevel)来选择将进入截距的其他组。我相信R会按字母顺序执行此操作,因此另一种方法是重命名您的组,以便您要在截距中的组首先出现在字母表中(尽管这可能被认为是较差的编码习惯)。>