Stat - 2 months ago 26

R Question

I fitted a glm model in R and took the anova table. I need to extract the "Residual Deviance" column. But it generates an error. Here are the codes:

Creating data:

`counts <- c(18,17,15,20,10,20,25,13,12)`

outcome <- gl(3,1,9)

treatment <- gl(3,3)

Fitting GLM:

`glm.D93 <- glm(counts ~ outcome + treatment, family = quasipoisson(link = "log"))`

Anova table:

`av.1=anova(glm.D93)`

av.1

Analysis of Deviance Table

Model: quasipoisson, link: log

Response: counts

Terms added sequentially (first to last)

Df Deviance Resid. Df Resid. Dev

NULL 8 10.5814

outcome 2 5.4523 6 5.1291

treatment 2 0.0000 4 5.1291

Now I need to extract "Resid. Dev" column. So I tried

`str`

`> str(av.1)`

Classes ‘anova’ and 'data.frame': 3 obs. of 4 variables:

$ Df : int NA 2 2

$ Deviance : num NA 5.45 0

$ Resid. Df : int 8 6 4

$ Resid. Dev: num 10.58 5.13 5.13

- attr(*, "heading")= chr "Analysis of Deviance Table\n\nModel: quasipoisson, link: log\n\nResponse: counts\n\nTerms added sequentially (first to last)\n\"| __truncated__

Finally I extracted

`Resid. Dev`

`> av.1$Resid. Dev`

Error: unexpected symbol in "av.1$Resid. Dev"

Answer

Use quotation marks

```
> av.1$"Resid. Dev"
[1] 10.581446 5.129141 5.129141
```

Equivalently

```
av.1[["Resid. Dev"]]
```

Source (Stackoverflow)

Comments