是否可以只使用响应变量拟合线性模型?

nac*_*cab 4 r lm glm

如果我这样做,我得到两个系数(截距和年份)

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简介文档包含一个关于公式界面语法的信息丰富的部分.