Hello Sterling,
Nope, adonis() shows the results of all tests run.
However, if a test cannot be run, then no result is shown.
Take a look at this example
### Fully blocked
df.1 <- data.frame(
trt = rep(c("A","B","C"),each=30),
age = rep(rep(c("20","30","30"),each=10), 3)
)
df.1 %>% table()
age
trt 20 30
A 10 20
B 10 20
C 10 20
df.1 %>% adonis(all.sites ~ age*trt, data = .)
Call:
adonis(formula = all.sites ~ age * trt, data = .)
Terms added sequentially (first to last)
Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
age 1 0.02297 0.022969 1.09992 0.01212 0.334
trt 2 0.08327 0.041635 1.99375 0.04393 0.035 *
age:trt 2 0.03512 0.017561 0.84096 0.01853 0.562
Residuals 84 1.75413 0.020883 0.92542
Total 89 1.89549 1.00000
Note how the study design is fully blocked, so all tests are able to be performed and all results, including the interaction, are shown.
### Unblocked
df.2 <- data.frame(
trt = rep(c("A","B","C"),each=30),
age = rep(c("25","35","45"),each=30)
)
df.2 %>% table()
age
trt 25 35 45
A 30 0 0
B 0 30 0
C 0 0 30
df.2 %>% adonis(all.sites ~ age*trt, data = .)
Call:
adonis(formula = all.sites ~ age * trt, data = .)
Terms added sequentially (first to last)
Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
age 2 0.08327 0.041635 1.9988 0.04393 0.037 *
Residuals 87 1.81222 0.020830 0.95607
Total 89 1.89549 1.00000
Now that the study is no longer fully blocked, there's no more interactions to test. In fact, partitioning by age also removes all variation according to trt
, so this is the only test that can be performed and the only result shown.
Did I explain that OK? Let me know if you have any other questions about this test!
Colin