différentes sorties d'anova

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Elise Lacoste
Messages : 33
Enregistré le : 02 Juin 2009, 15:49

différentes sorties d'anova

Messagepar Elise Lacoste » 11 Jan 2017, 21:07

Bonjour,

Je bute sur une sortie d'anova...je ne comprends pas à qule type d'anova procède R en fonction de 2 écritures.
J'ai un tableau avec des données de richesse spécifique le long de transects sous des filières de moules de 2 densités différentes.

head(df)
S dens transect_id dist.fac
36 33 double DD-1 -25
37 24 double DD-1 -25
38 28 double DD-1 -25
39 29 double DD-1 -25
40 23 double DD-1 -25
41 31 double DD-1 -10


avec la structure suivante: 2 densités, 2 transects par densité, 5 distances par transect.
(Mon plan est équilibré.)

str(df)
'data.frame': 100 obs. of 4 variables:
$ S : num 33 24 28 29 23 31 27 31 28 23 ...
$ dens : Factor w/ 2 levels "double","simple": 1 1 1 1 1 1 1 1 1 1 ...
$ transect_id: Factor w/ 4 levels "D-1","D-2","DD-1",..: 3 3 3 3 3 3 3 3 3 3 ...
$ dist.fac : Factor w/ 5 levels "-25","-10","0",..: 1 1 1 1 1 2 2 2 2 2 ...


Le tableau complet est là:

df <- structure(list(S = c(33, 24, 28, 29, 23, 31, 27, 31, 28, 23,
28, 24, 27, 23, 16, 23, 28, 25, 27, 22, 29, 26, 29, 34, 31, 24,
27, 36, 30, 34, 23, 26, 25, 19, 27, 20, 22, 23, 23, 18, 27, 37,
23, 21, 30, 22, 22, 27, 33, 25, 26, 33, 25, 24, 27, 23, 29, 30,
30, 25, 29, 29, 28, 25, 27, 29, 26, 26, 30, 21, 29, 28, 30, 34,
28, 24, 23, 31, 27, 25, 25, 24, 30, 24, 26, 24, 24, 26, 22, 27,
23, 29, 27, 30, 21, 21, 23, 27, 25, 24), dens = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L), .Label = c("double", "simple"), class = "factor"),
transect_id = structure(c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L), .Label = c("D-1", "D-2", "DD-1", "DD-2"), class = "factor"),
dist.fac = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L,
5L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
4L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L,
5L), .Label = c("-25", "-10", "0", "10", "25"), class = "factor")), .Names = c("S",
"dens", "transect_id", "dist.fac"), class = "data.frame", row.names = c(36L,
37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L,
50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L, 60L, 61L, 62L,
63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L,
76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 96L, 97L, 98L,
99L, 100L, 101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L,
110L, 111L, 112L, 113L, 114L, 115L, 116L, 117L, 118L, 119L, 120L,
121L, 122L, 123L, 124L, 125L, 126L, 127L, 128L, 129L, 130L, 131L,
132L, 133L, 134L, 135L, 136L, 137L, 138L, 139L, 140L, 141L, 142L,
143L, 144L, 145L))


Mon plan étant équilibré, je ne comprends pas pourquoi en changeant l'ordre d'entrée des variables le résultat change et notamment pourquoi je perds un degré de liberté pour transect_id entre la première et la deuxième anova...?

anova(lm(S~transect_id*dens*dist.fac,data=df))
Analysis of Variance Table

Response: S
Df Sum Sq Mean Sq F value Pr(>F)
transect_id 3 83.12 27.707 2.2317 0.09088 .
dist.fac 4 142.24 35.560 2.8643 0.02843 *
transect_id:dist.fac 12 264.48 22.040 1.7753 0.06655 .
Residuals 80 993.20 12.415
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> anova(lm(S~dens*transect_id*dist.fac,data=df))
Analysis of Variance Table

Response: S
Df Sum Sq Mean Sq F value Pr(>F)
dens 1 1.00 1.000 0.0805 0.77729
transect_id 2 82.12 41.060 3.3073 0.04168 *
dist.fac 4 142.24 35.560 2.8643 0.02843 *
dens:dist.fac 4 99.80 24.950 2.0097 0.10100
transect_id:dist.fac 8 164.68 20.585 1.6581 0.12175
Residuals 80 993.20 12.415
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


De plus si je me fie au résultat de la seconde anova et que je poursuis avec un Tukey pour savoir quels transects diffèrent, je n'obtient pas de différence significative entre les transects...

Merci d'avance de quelques éclaircissements...

denis laloe
Messages : 119
Enregistré le : 28 Déc 2006, 13:05

Re: différentes sorties d'anova

Messagepar denis laloe » 12 Jan 2017, 08:21

Bonjour,
un premier élément de réponse. Votre plan d'expérience n'est pas croisé, mais hiérarchique densité / transect. C'est donc normal que les anova ne soient pas les mêmes selon l'ordre densite*transect ou transect*densité. En particulier, ça n'a pas de sens de faire un modèle transect + densité, vu la hiérarchie de ces deux facteurs.
Il faut que vous consultiez de la doc sur les modèles hiérarchiques...

Stéphane Adamowicz
Messages : 206
Enregistré le : 07 Mar 2012, 10:13
Contact :

Re: différentes sorties d'anova

Messagepar Stéphane Adamowicz » 12 Jan 2017, 10:17

Bonjour,

Denis a raison sur le modèle à appliquer à vos données. Mais la vraie raison de l'incohérence que vous notez n'est pas là. Si votre plan était complet et équilibré, les deux ANOVA auraient été identiques. Donc votre plan n'est pas complet et équilibré. Vous pouvez le vérifier aisément avec la commande suivante qui montre que certaines combinaisons de facteurs disposent de 5 répétitions, et d'autres de zéro ! :

Code : Tout sélectionner

replications(S ~ dens * transect_id * dist.fac, data= df)
Stéphane Adamowicz
INRA, UR 1115 Plantes et Systèmes de Culture Horticoles (PSH)
domaine St Paul, site agroparc
84914 Avignon, cedex 9

denis laloe
Messages : 119
Enregistré le : 28 Déc 2006, 13:05

Re: différentes sorties d'anova

Messagepar denis laloe » 12 Jan 2017, 13:08

Par définition, un schéma hiérarchique n'est pas complet

Stéphane Adamowicz
Messages : 206
Enregistré le : 07 Mar 2012, 10:13
Contact :

Re: différentes sorties d'anova

Messagepar Stéphane Adamowicz » 12 Jan 2017, 13:16

Certes,

mais un modèle peut n'être ni hiérarchique, ni complet ...

comme quoi, on peut rire avec un problème de moules !
Stéphane Adamowicz

INRA, UR 1115 Plantes et Systèmes de Culture Horticoles (PSH)

domaine St Paul, site agroparc

84914 Avignon, cedex 9

Elise Lacoste
Messages : 33
Enregistré le : 02 Juin 2009, 15:49

Re: différentes sorties d'anova

Messagepar Elise Lacoste » 12 Jan 2017, 16:37

Bonjour à tous les 2,

Effectivement je n'étais pas partie sur le bon codage pour mon modèle, je planche sur les schémas hiérarchiques.
Merci quand même Stéphane pour la fonction "réplication" (j'aurai aussi du le voir sans ça..), effectivement chaque niveau de transect_id ne correspond qu'à un niveau de densité ..d'où l'importance de l'ordre des facteurs que je ne comprenais pas...
Merci!

Elise Lacoste
Messages : 33
Enregistré le : 02 Juin 2009, 15:49

Re: différentes sorties d'anova

Messagepar Elise Lacoste » 12 Jan 2017, 19:39

Re bonjour,

Après mes lectures du jour, j'ai quelques doutes quand à l'utilisation de "lm" ou "aov" pour réaliser mon anova puisque mon plan est déséquilibré (étant hiérarchique..). J'ai lu que les plans déséquilibrés étaient mieux gérés par la fonction "lme"...or celle-ci implique qu'un des facteurs soit aléatoire...comment traiter au mieux un plan déséquilibré avec effets fixes..? Changer le système de contrastes en utilisant lm permet-il d'obtenir des résultats robustes??
Merci!
Élise

Eric Wajnberg
Messages : 783
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: différentes sorties d'anova

Messagepar Eric Wajnberg » 13 Jan 2017, 05:10

Je sais bien que je répète sans arrêt la même chose sur forum, mais cette discussion est clairement une discussion de statistique, pas sur l'utilisation de R. Je viens ici pour lire, apprendre, et aider d'autres sur l'usage du logiciel R. Je vais sur d'autres forum pour lire, apprendre et aider d'autres sur des questions de statistique. Je ne pense pas que ceci soit utile de mélanger les deux. Ca conduit (en tout cas pour moi) à une perte de temps, et ça conduit (peut-être pour les autres) à une confusion, à minima.

Cordialement, Eric.

denis laloe
Messages : 119
Enregistré le : 28 Déc 2006, 13:05

Re: différentes sorties d'anova

Messagepar denis laloe » 13 Jan 2017, 11:21

Bonjour,
pour moi, cette question n'est pas uniquement d'ordre statistique. Les sorties d'anova sont très logiciels-dépendantes, les calculs de sommes de carrés également (les types SAS, qui n'ont pas réellement d'équivalent dans R, même avec Anova); on peut difficilement dissocier ces sorties du logiciel qui les a produites. De plus , quand les facteurs sont hiérarchisés, la documentation qu'on peut trouver dans le cadre de R n'est franchement pas claire (mais je ne demande qu'à être détrompé).

Elise Lacoste
Messages : 33
Enregistré le : 02 Juin 2009, 15:49

Re: différentes sorties d'anova

Messagepar Elise Lacoste » 13 Jan 2017, 16:09

Bonjour,
effectivement la frontière est mince et le fait est que pour les anova comme le dit Denis il s'agit de relier la façon dont les calculs sont fait dans R aux sorties... Je pensais donc que ma question faisait du sens ici puisqu'il s'agit de savoir comment coder correctement une anova hiérarchique en tenant compte du déséquilibre..(demander à R d'utiliser la décomposition des sommes de carrés de type III..). La question stat serait de savoir si j'ai le bon raisonnement..mais là la frontière est franchie...


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités