如果我这样做,我会得到两个系数(截距和年份)
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
但正确答案是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
有没有办法只为响应变量指定glm公式?如果我在第一个数据框中使用第二个公式,我会得到错误的答案,因为“。”还包括“年”。在第二个数据框中,我在作弊,因为只有一列。
答案 0 :(得分:10)
以下是您正在寻找的咒语:
glm(accidents ~ 1, family=poisson(link = log), data)
将其与原始数据框一起使用:
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
另外,正如Ben Bolker所提到的,R附带的R简介文档包括a nicely informative section on the grammar of the formula interface。