usuario1711727
Ejecuto adonis en datos comunitarios y matriz ambiental (que contiene un factor de dos niveles y 6 variables continuas) usando Bray-Curtis y siempre tomo 1 df pero este no es el caso. Probablemente hay un error aquí.
Véase también el ejemplo en adonis
data(dune)
data(dune.env)
str(dune.env)
adonis(dune ~ Management*A1, data=dune.env, permutations=99)
Aunque A1 es una variable numérica el resultado proporciona 1 df.
En el modelo:
> 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
los principal efecto de A1
utiliza un solo grado de libertad porque es una variable continua. La interacción entre Management
y A1
usa 3 grados de libertad adicionales ya que hay un “efecto” adicional de A1
por nivel de Management
.
Todo esto es esperado y ciertamente no hay ningún error ilustrado en adonis()
de este modelo.
Es importante destacar que debe asegurarse de que las variables de los factores se codifiquen como factores; de lo contrario, por ejemplo, si las categorías se codifican como números enteros, R seguirá interpretando esas variables como continuas/numéricas. Sólo los interpretará como factores si se le obliga a hacerlo. "factor"
clase. Compruebe la salida de str(df)
dónde df
es su marco de datos que contiene las variables predictoras (covariables; las cosas en el lado derecho de ~
), y asegúrese de que cada variable de factor sea de la clase adecuada. por ejemplo, el dune.env
los datos son:
> 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 ...
lo que indica que Management
es un factor, A1
es numérica (es el espesor del horizonte del suelo A1), y las variables restantes son ordenado factores (pero aún factores; funcionan correctamente en la infraestructura de fórmula omdel de R).
-
Gracias, hasta ahora no me he dado cuenta de que las variables continuas en permanova usan un solo df.
– usuario1711727
26 de diciembre de 2018 a las 17:23
-
La variable continua en cualquier modelo (lineal) utiliza un solo df. Controlar
lm
&glm
.– Jari Oksanen
29 de diciembre de 2018 a las 10:16
Lo siento, no tengo claro cuál es el problema; A1 es una variable continua y, por lo tanto, solo usa 1 grado de libertad, tal como lo haría en un modelo de regresión lineal.
–Gavin Simpson
26 de diciembre de 2018 a las 16:53