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?

Thank you for your help in advance!

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.