DeltaIV DeltaIV - 4 months ago 26
R Question

Interpeting R significance codes for ANOVA table?

test data frame:

> foo
x y z
1 0.191 0.324 0.620
2 0.229 0.302 0.648
3 0.191 0.351 0.626
4 0.229 0.324 0.630
5 0.152 0.374 0.656
6 0.191 0.295 0.609
7 0.229 0.267 0.665
8 0.152 0.353 0.657
9 0.152 0.355 0.655


Two linear models:

model1 <- lm(z~polym(x,y,degree = 1),data=foo)
model2 <- lm(z~polym(x,y,degree = 2),data=foo)


ANOVA for the two models returns:

> anova(model1,model2)
Analysis of Variance Table

Model 1: z ~ polym(x, y, degree = 1)
Model 2: z ~ polym(x, y, degree = 2)
Res.Df RSS Df Sum of Sq F Pr(>F)
1 6 0.002988
2 3 0.000169 3 0.00282 16.6 0.023 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Why the single
*
? 0.05 > 0.023 > 0.01, so shouldn't it print a
.
symbol?

Answer

There is nothing wrong.

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

means:

annotation          p-value          significance level
   ***            [0, 0.001]                0.001
    **         (0.001, 0.01]                0.01
     *          (0.01, 0.05]                0.05
     .           (0.05, 0.1]                0.1
                    (0.1, 1]                1

0.023 is within (0.01, 0.05], so it should be annotated by *.