ade4 et vegan > indice de similarité

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

Guinaudeau Benjamin
Messages : 25
Enregistré le : 11 Déc 2010, 09:13

ade4 et vegan > indice de similarité

Messagepar Guinaudeau Benjamin » 29 Juil 2015, 11:03

Bonjour,

une petite mise en contexte avant toute chose :

je travaille à l'échelle d'une ville que j'ai séparé en maille (1536 mailles) au sein desquelles j'ai des observations de faune et de flore (beaucoup d'observations, et d'espèces différentes). j'ai utilisé le package vegan pour calculer divers indices de biodiversité (shannon, simpson, hill, d'équitabilité (piélou) et maintenant je souhaite comparer mes mailles entre elle (diversité beta avec jaccard, sorensen ou autre).

j'ai vu qu'avec le package vegan on peut utiliser la fonction : vegdist
et pour le package ade4 on trouve dist.binary

étant donnée que ma matrice comporte beaucoup d'espèces j'ai beaucoup de "0" par maille

Image

La double absence d'une espèce ne doit pas être interprétée comme une ressemblance entre deux relevés. c'est pourquoi les indices asymétriques (jaccard, sorensen) ne tiennent pas compte de cette double absence, contrairement au indice symétrique qu'il faudra donc éviter ici.

ensuite j'ai commencé à faire des tests avec une matrice fictive pour voir comment cela fonctionnait :

Code : Tout sélectionner

test<-read.table("test.txt", h= T)
   test
# avec vegan:   

jac<-vegdist(test, method="jaccard", binary=TRUE)
   jac

# avec ade4
jac <- dist.binary(test,method=1)
   jac

soren <- dist.binary(test,method=5)
   soren   



ça donne :

Image


le problème arrive quand je le fait sur ma matrice complète ; j'obtiens le message suivant :

[ getOption("max.print") est atteint -- 203 lignes omises ]

et la matrice ne donne que les mailles avec aucune valeur d'indicateur.

j'imagine que ma matrice est trop grande, y a t'il une solution ? j'ai cherché ??max.print mais rien ne sors.

merci pour l'aide !

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Re: ade4 et vegan > indice de similarité

Messagepar Nicolas Péru » 29 Juil 2015, 11:38

ce n'est qu'un pb d'affichage. Met ta matrice de distance dans un objet et tu la trouveras bien au complet

Nicolas

Guinaudeau Benjamin
Messages : 25
Enregistré le : 11 Déc 2010, 09:13

Re: ade4 et vegan > indice de similarité

Messagepar Guinaudeau Benjamin » 29 Juil 2015, 11:41

Ok

c'est rassurant,

par contre qu'entends tu par mettre la matrice dans un objet ?

merci :)

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Re: ade4 et vegan > indice de similarité

Messagepar Nicolas Péru » 29 Juil 2015, 12:05

comme quand tu fais ça

Code : Tout sélectionner

soren <- dist.binary(test,method=5)

tu mets la matrice de distance dans l'objet que tu appelles "soren".

Sur le "problème" d'affichage, tu peux t'en convaincre en faisant :

Code : Tout sélectionner

dim(as.matrix(soren))

tu devrais obtenir une dimension correspondant à ton nombre de site


Nicolas

PS: c'est hors sujet ici mai s je ne résiste pas au fait de te dire qu'il n'y a pas de raison de dire que la double absence n'est pas un phénomène de ressemblance :)

Guinaudeau Benjamin
Messages : 25
Enregistré le : 11 Déc 2010, 09:13

Re: ade4 et vegan > indice de similarité

Messagepar Guinaudeau Benjamin » 29 Juil 2015, 12:10

merci en effet, je n'avais pas pensé à ça.


PS: c'est hors sujet ici mai s je ne résiste pas au fait de te dire qu'il n'y a pas de raison de dire que la double absence n'est pas un phénomène de ressemblance :)



pour la double ressemblance je vois ce que tu veux dire mais la j'ai tellement d'espèces qui vont de l'insecte au mammifère, avec plus de 400 espèces du coup je me dis que si deux mailles ne possèdent pas telle ou telle espèce c'est pas tant qu'elle se ressemble c'est juste que beaucoup d'espèces se retrouvent dans peu de maille.


après je ne suis pas fermé sur le fait d'utiliser des indicateurs symétriques mais il faut pouvoir le justifier :)

edit :

quand je fais ce que tu me dis j'obtiens :

Code : Tout sélectionner

> dim(as.matrix(jac))
[1] 434 434


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron