我知道R会自动从分类值创建虚拟变量,但它也会自动选择参考值(我想按字母顺序排列?)。如何在不更改值的名称的情况下指定不同的值作为引用?我意识到我可能会按照我喜欢的顺序重新考虑因素a,b,c ......但这对我来说似乎有点蠢蠢。
为了清楚起见,我会举一个例子。假设因子是颜色,值为红色,蓝色,绿色,黄色< / em>的。
mod.lm <- lm(preference ~ color, data = flowers)
在这种情况下的拦截是针对颜色 = 蓝色的情况,但我想将其设为黄色。我该怎么做呢?
答案 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
”