# For adonis, do interactions require a minimum R2 value to be shown?

Hi all,

I am running qiime diversity adonis on a dataset. I am using the formula "A(star)B(star)C". When I look at my results, I have results for A:B and B:C, but not for A:C. I reran adonis with the formula "A*C" and yet I still do not get an interaction. Is this because there is a minimum threshold value for R2 to show the interaction?

1 Like

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

1 Like

This is a fantastic explanation. I had a feeling that this could have been the case but wasn't sure.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.