如何为分类变量确定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