2012-01-29 60 views
4

如果我這樣做,我得到兩個係數(截距和年份)是否有可能僅使用響應變量來擬合線性模型?

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公式只是響應變量的方式?如果我在第一個數據框中使用第二個公式,我會得到錯誤的答案,因爲「。」還包括「年份」。在第二個數據框中,我在欺騙,因爲只有一列。

+2

你可能要檢查的公式一節中的介紹與R太... – 2012-01-29 23:59:26

回答

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 

此外,作爲本Bolker提到的R簡介文件附帶有R包括a nicely informative section on the grammar of the formula interface

相關問題