我有一个看起来像这样的数据框df
。
Color Rejection
Red 0
Orange 0
Yellow 1
Green 1
Blue 1
我想进行对数回归,其中“蓝色”为0,1可以为红色,橙色,黄色或绿色。
我的日志回归设置如下所示。
glm(
formula = Rejection ~ Color,
data = df,
family = binomial(link="logit")
)
在该回归分析中,如何设置东西,使“蓝色”为默认值,而其他颜色为x变量的“ 1”?
答案 0 :(得分:0)
很明显,您想将Color视为具有两个级别的分类预测变量:Blue和Non-Blue?最简单的解决方案是简单地创建一个二进制因子变量,将“蓝色”作为因子的第一级,将所有其他变量分组为第二级。像这样:
df$Color_Binary <- if_else(df$Color == "Blue", df$Color, "Not Blue")
df$Color_Binary <- factor(df$Color_Binary, levels = c("Blue", "Not Blue"))
mod <- glm(
formula = Rejection ~ Color_Binary,
data = df,
family = binomial(link="logit")
)
请注意,当转换为因子变量时,R默认情况下按字母顺序创建级别,因此在此示例中levels
变量不是必需的,但是如果您的“ Not Blue”值发生在“蓝色”之前按字母顺序排列。您希望Blue成为因子的第一级的原因是因为glm函数会将每个因子的第一级折叠到Intercept(即默认值)中,并将估计因子的所有其他层的效果。