如果我这样做,我得到两个系数(截距和年份)
data <- data.frame(accidents=c(3,1,5,0,2,3,4), year=1:7)
glm(accidents ~ year, family=poisson(link = log), data)
Coefficients:
(Intercept) year
0.7155 0.0557
Run Code Online (Sandbox Code Playgroud)
但正确答案是0.944
data <-data.frame(accidents=c(3,1,5,0,2,3,4))
glm(accidents ~ ., family=poisson(link=log), data)
Coefficients:
(Intercept)
0.944
Run Code Online (Sandbox Code Playgroud)
有没有办法为响应变量指定glm公式?如果我在第一个数据框中使用第二个公式,我会得到错误的答案,因为"." 还包括"年".在第二个数据框中,我在欺骗,因为只有一列.
Jos*_*ien 10
这是您正在寻找的咒语:
glm(accidents ~ 1, family=poisson(link = log), data)
Run Code Online (Sandbox Code Playgroud)
将其与原始数据框一起使用:
data <- data.frame(accidents=c(3,1,5,0,2,3,4), year=1:7)
coef(glm(accidents ~ 1, family=poisson(link = log), data))
(Intercept)
0.9444616
Run Code Online (Sandbox Code Playgroud)
此外,正如Ben Bolker所提到的,R附带的R简介文档包含一个关于公式界面语法的信息丰富的部分.