如何在R中指定任意虚拟变量对比度?

时间:2012-07-30 18:20:25

标签: r linear-regression

我知道R会自动从分类值创建虚拟变量,但它也会自动选择参考值(我想按字母顺序排列?)。如何在不更改值的名称的情况下指定不同的值作为引用?我意识到我可能会按照我喜欢的顺序重新考虑因素a,b,c ......但这对我来说似乎有点蠢蠢。

为了清楚起见,我会举一个例子。假设因子是颜色,值为红色蓝色绿色黄色< / em>的。

mod.lm <- lm(preference ~ color, data = flowers)

在这种情况下的拦截是针对颜色 = 蓝色的情况,但我想将其设为黄色。我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

使用relevel

  # In this case, the reference category is setosa
model <- lm(Sepal.Length ~ Species, data=iris)
summary(model) 

# Now I want Virginica to be the reference category
iris$Species <- relevel(iris$Species, ref='virginica')
model <- lm(Sepal.Length ~ Species, data=iris)
summary(model)

在你的情况下可能是

flowers$color <- relevel(flowers$color, ref='yellow')
lm(preference ~ color, data = flowers)

此模型将使用参考类别“yellow

为您提供估算