В модели:
> adonis(dune ~ Management*A1, data=dune.env, permutations=99)
Call:
adonis(formula = dune ~ Management * A1, data = dune.env, permutations = 99)
Permutation: free
Number of permutations: 99
Terms added sequentially (first to last)
Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
Management 3 1.4686 0.48953 3.2629 0.34161 0.01 **
A1 1 0.4409 0.44089 2.9387 0.10256 0.02 *
Management:A1 3 0.5892 0.19639 1.3090 0.13705 0.21
Residuals 12 1.8004 0.15003 0.41878
Total 19 4.2990 1.00000
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
main effect A1
использует одну степень свободы, потому что это непрерывная переменная.Взаимодействие между Management
и A1
использует 3 дополнительные степени свободы, поскольку есть один дополнительный «эффект» A1
на уровень Management
.
Это все ожидаемо и, конечно, нетошибка, проиллюстрированная в adonis()
из этой модели.
Важно, что вы должны убедиться, что факторные переменные кодируются как факторы в противном случае, например, если категории закодированы как целые числа, тогда R все равно будет интерпретировать эти переменные как непрерывные /числовой.Он будет интерпретировать их как факторы только в случае приведения к классу "factor"
.Проверьте вывод str(df)
, где df
- это ваш фрейм данных, содержащий переменные предиктора (ковариаты; вещи в правой части ~
), и убедитесь, что каждая фактор-переменная имеетсоответствующего класса.Например, данные dune.env
:
> str(dune.env)
'data.frame': 20 obs. of 5 variables:
$ A1 : num 2.8 3.5 4.3 4.2 6.3 4.3 2.8 4.2 3.7 3.3 ...
$ Moisture : Ord.factor w/ 4 levels "1"<"2"<"4"<"5": 1 1 2 2 1 1 1 4 3 2 ...
$ Management: Factor w/ 4 levels "BF","HF","NM",..: 4 1 4 4 2 2 2 2 2 1 ...
$ Use : Ord.factor w/ 3 levels "Hayfield"<"Haypastu"<..: 2 2 2 2 1 2 3 3 1 1 ...
$ Manure : Ord.factor w/ 5 levels "0"<"1"<"2"<"3"<..: 5 3 5 5 3 3 4 4 2 2 ...
, которые указывают, что Management
является фактором, A1
является числовым (это толщина горизонта почвы А1), а остальные переменные упорядочены факторы (но все же факторы; они работают правильно в инфраструктуре формулы Омделя R).