Problème d'utilisation de la fonction dist.binary(), methode : Jaccard

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

Maxime Le Roy
Messages : 19
Enregistré le : 07 Mar 2016, 07:27

Problème d'utilisation de la fonction dist.binary(), methode : Jaccard

Messagepar Maxime Le Roy » 17 Mar 2016, 17:15

Bonjour,
En utilisant la fonction dist.binary pour calculer les coef de Jaccard entre chaque colonne de ce tableau :

Code : Tout sélectionner

                       1-10 11-20 21-30 31-40 41-50 51-60 61-70 71-80 81-90 91-100
Plantago coronopus        3     1     2     4     1     2     6     2     4      8
Sagina maritima           1     1     2     1     0     0     0     3     0      0
Daucus carota             1     2     0     1     0     0     0     0     0      0
Hypochoeris radicata      0     0     0     1     0     0     1     0     2      0
Agrostis stolonifera      0     1     0     0     0     0     0     0     2      0
Spergularia rupicola      0     0     1     0     0     0     0     1     1      0
Cochlearia danica         0     0     1     1     0     1     0     0     0      0
Parapholis cf strigosa    1     0     0     0     0     0     0     0     0      1
Holcus lanatus            1     1     0     0     0     0     0     0     0      0
Cynodon dactylon          0     0     0     2     0     0     0     0     0      0
Radiola linoides          0     1     0     0     0     0     0     0     0      0
Lotus corniculatus        0     0     1     0     0     0     0     0     0      0


Je tombe sur des résultats que je ne comprend pas (qui ne correspondent pas à ce que je calcul avec : nombre d'especes communes/nombre d'especes totales) :

Code : Tout sélectionner

> Jaccard<-dist.binary(t(groupes), method=1)
> Jaccard
            1-10     11-20     21-30     31-40     41-50     51-60     61-70     71-80     81-90
11-20  0.6546537                                                                               
21-30  0.8660254 0.8819171                                                                     
31-40  0.7905694 0.8164966 0.7905694                                                           
41-50  0.8944272 0.9128709 0.8944272 0.9128709                                                 
51-60  0.9128709 0.9258201 0.7745967 0.8164966 0.7071068                                       
61-70  0.9128709 0.9258201 0.9128709 0.8164966 0.7071068 0.8164966                             
71-80  0.8164966 0.8451543 0.6324555 0.8451543 0.8164966 0.8660254 0.8660254                   
81-90  0.9354143 0.8660254 0.8451543 0.8660254 0.8660254 0.8944272 0.7071068 0.7745967         
91-100 0.7745967 0.9258201 0.9128709 0.9258201 0.7071068 0.8164966 0.8164966 0.8660254 0.8944272


Ici les 3 premières valeurs de la premiere colonne devraient être : 0.57; 0.25 et 0.375
Quelqu'un aurait une explication svp ?

Encore une fois la solution sera toute bête je suppose et je m'en excuse par avance.
Merci encore à ce forum qui m'aura apporter énormément d'aide pour mes études !

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

Re: Problème d'utilisation de la fonction dist.binary(), methode : Jaccard

Messagepar Nicolas Péru » 18 Mar 2016, 09:57

Bonjour,

La fonction dist.binary donne la distance de Jaccard et non l'indice.

en prenant le code de la fonction on trouve, pour Jaccard:

Code : Tout sélectionner

d <- a/(a + b + c)
d <- sqrt(1 - d)


On retombe donc bien sur nos pattes (à l'arrondi près):

Code : Tout sélectionner

-1*(0.6546537*0.6546537-1)
[1] 0.5714285


Nicolas

Maxime Le Roy
Messages : 19
Enregistré le : 07 Mar 2016, 07:27

[Résolu] Problème d'utilisation de la fonction dist.binary(), methode : Jaccard

Messagepar Maxime Le Roy » 18 Mar 2016, 15:25

Merci encore une fois ! J'aurai du mieux lire la notice !


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Eric Wajnberg, Google [Bot] et 1 invité