[Résolu] Moyenne de tableaux "Class 'dist' atomic" obtenu a partir de 'dist.binary'

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

[Résolu] Moyenne de tableaux "Class 'dist' atomic" obtenu a partir de 'dist.binary'

Messagepar Maxime Le Roy » 16 Mar 2016, 19:07

Bonjour,
J'ai calculé l'indice de Jaccard sur mes données à partir de la fonction 'dist.binary'
J'obtiens donc un tableau comme ceci :

Code : Tout sélectionner

 > Jaccard
   groupes                                                                               
 0.6546537                                                                               
 0.8660254 0.8819171                                                                     
 0.7905694 0.8164966 0.7905694                                                           
 0.8944272 0.9128709 0.8944272 0.9128709                                                 
 0.9128709 0.9258201 0.7745967 0.8164966 0.7071068                                       
 0.9128709 0.9258201 0.9128709 0.8164966 0.7071068 0.8164966                             
 0.8164966 0.8451543 0.6324555 0.8451543 0.8164966 0.8660254 0.8660254                   
 0.9354143 0.8660254 0.8451543 0.8660254 0.8660254 0.8944272 0.7071068 0.7745967         
 0.7745967 0.9258201 0.9128709 0.9258201 0.7071068 0.8164966 0.8164966 0.8660254 0.8944272


Maintenant je voudrait faire la moyenne de deux (et plus) de ces tableaux mais quand j'essaye tout simplement la fonction mean() ça ne marche pas :

Code : Tout sélectionner

> mean(Jaccard,Jaccard2)
Error in mean.default(Jaccard, Jaccard2) :
  'trim' must be numeric of length one

Ces tableaux sont de type : Class 'dist' atomic.

Quelqu'un aurait une idée d'une méthode pour les convertir afin d'en calculer la moyenne svp ?

Je vous remercie.

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

Re: Moyenne de tableaux "Class 'dist' atomic" obtenu a partir de 'dist.binary'

Messagepar Nicolas Péru » 17 Mar 2016, 06:59

Bonjour,

Avec as.vector()

Nicolas

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

Re: Moyenne de tableaux "Class 'dist' atomic" obtenu a partir de 'dist.binary'

Messagepar Maxime Le Roy » 17 Mar 2016, 07:30

Bonjour,
merci pour cette réponse
mais l'erreur est toujours la même :

Code : Tout sélectionner

> A<-as.vector(Jaccard1)
> B<-as.vector(Jaccard2)
> mean(A,B)
Error in mean.default(A, B) : 'trim' must be numeric of length one
> class(A)
[1] "numeric"

alors que les vecteurs sont bien de classe numérique.

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

Re: Moyenne de tableaux "Class 'dist' atomic" obtenu a partir de 'dist.binary'

Messagepar Nicolas Péru » 17 Mar 2016, 07:57

C'est normal,

En faisant:

Code : Tout sélectionner

mean(A,B)
tu donnes une valeur au second paramètre de la fonction mean (TRIM) qui lui n'attend qu'une seule valeur.

La bonne écriture est celle-ci:

Code : Tout sélectionner

 mean(c(as.vector(A),as.vector(B)))


Nicolas

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

Re: Moyenne de tableaux "Class 'dist' atomic" obtenu a partir de 'dist.binary'

Messagepar Maxime Le Roy » 17 Mar 2016, 08:44

En effet j'aurai du tester ça avant. Néanmoins ce n'est toujours pas ce que je recherche car ça me renvoie la moyenne de toutes les valeurs et non une moyenne pour chaque couple de valeur.

J'ai donc essayé :

Code : Tout sélectionner

tapply(as.vector(Jaccard1),as.vector(Jaccard2),mean)

qui me renvoie des valeurs dont je ne comprend pas l'origine

désolé si je m'exprime mal concernant ma demande, merci dans tous les cas

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

Re: Moyenne de tableaux "Class 'dist' atomic" obtenu a partir de 'dist.binary'

Messagepar Nicolas Péru » 17 Mar 2016, 08:50

D'accord. L'objectif n'est pas le même.

Les objets de classe dist se travaillent bien entre eux tant que la dimension de la matrice est la même. Du coup pour faire la moyenen de 2 matrices de distance, c'est très simple :
Exemple ficitif :

Code : Tout sélectionner

(dist(1:10)+dist(1:10))/2


Nicolas

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

[Résolu] Moyenne de tableaux "Class 'dist' atomic" obtenu a partir de 'dist.binary'

Messagepar Maxime Le Roy » 17 Mar 2016, 08:54

Parfait, ça marche, je te remercie !

Bonne journée !


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Pierre-Yves Berrard et 1 invité