如何为分类变量确定R中的系数

如何为分类变量确定R中的系数,r,offset,R,Offset,我想知道如何在模型中为每个不同级别的分类变量设置偏移量(或固定系数),并了解这对其他变量的影响。我不知道如何准确地编码 library(tidyverse) mtcars <- as_tibble(mtcars) mtcars$cyl <- as.factor(mtcars$cyl) model1 <- glm(mpg ~ cyl + hp, data = mtcars) summary(model1) 剩余偏差:28自由度时为277.17 AIC:169.9 Fish

我想知道如何在模型中为每个不同级别的分类变量设置偏移量(或固定系数),并了解这对其他变量的影响。我不知道如何准确地编码

library(tidyverse)

mtcars <- as_tibble(mtcars)

mtcars$cyl <- as.factor(mtcars$cyl)

model1 <- glm(mpg ~ cyl + hp, data = mtcars)
summary(model1)
剩余偏差:28自由度时为277.17
AIC:169.9

Fisher评分迭代次数:2次

我想将气缸设置为不同的偏移量,比如说6个气缸设置为-4,8个气缸设置为-9,这样我就可以看到这对马力有什么影响。我在下面的代码中尝试了这一点,但出现了一个错误,因此我不确定在一个分类变量中执行一个唯一值的正确方法,而不是一个

model2 <- glm(mpg ~ offset(I(-4 * cyl[6]))+ hp, data = mtcars)
model2在新的R会话中:

glm(mpg ~ offset(I(-4 * (cyl == 6) + -9 * (cyl == 8))) + hp, data = mtcars)
# Call:  glm(formula = mpg ~ offset(I(-4 * (cyl == 6) + -9 * (cyl == 8))) + 
#     hp, data = mtcars)
# 
# Coefficients:
# (Intercept)           hp  
#    27.66881     -0.01885  
# 
# Degrees of Freedom: 31 Total (i.e. Null);  30 Residual
# Null Deviance:        353.8 
# Residual Deviance: 302    AIC: 168.6

cyl[6]
cyl
的第六个值。相反,请尝试使用
I(-4*cyl==6)
,或
I(-4*(cyl==6)-9*(cyl==8))
来查看完整的案例。请尝试。在glm.fit(x=numeric(0),y=numeric(0),weights=NULL,start=NULL,:找不到对象“fit”
时出现了这个
错误……这就是我所遇到的。你看到它有什么问题吗?
model2你去掉了
offset()
部分。
glm(mpg ~ offset(I(-4 * (cyl == 6) + -9 * (cyl == 8))) + hp, data = mtcars)
# Call:  glm(formula = mpg ~ offset(I(-4 * (cyl == 6) + -9 * (cyl == 8))) + 
#     hp, data = mtcars)
# 
# Coefficients:
# (Intercept)           hp  
#    27.66881     -0.01885  
# 
# Degrees of Freedom: 31 Total (i.e. Null);  30 Residual
# Null Deviance:        353.8 
# Residual Deviance: 302    AIC: 168.6