[Manipulation d'un object de classe 'dist'] extraction d'une sous-matrice de distances

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

Chrystelle Delord
Messages : 33
Enregistré le : 09 Avr 2013, 12:50

[Manipulation d'un object de classe 'dist'] extraction d'une sous-matrice de distances

Messagepar Chrystelle Delord » 19 Juin 2017, 13:34

Bonjour à tous,


J'ai à disposition un simple objet de classe 'dist' contenant des distances génétiques entre populations. Il se présente comme suit :

Code : Tout sélectionner

             ANTE,         CAYO,         LITH,         LITI,         MARH,         MARI,         PAPA,         PIDI,         TALU,
CAYO,  0.0061557996                                                                                                               
LITH, -0.0025200189  0.0119840022                                                                                                 
LITI,  0.0035898070  0.0074455599  0.0042280327                                                                                   
MARH,  0.0263061516  0.0253477973  0.0249113208  0.0258924847                                                                     
MARI,  0.0084583261  0.0086669686  0.0053882856  0.0126788004  0.0106030593                                                       
PAPA,  0.0015451227  0.0060378280  0.0058356501  0.0082110472  0.0224241878  0.0112209779                                         
PIDI,  0.0022734343  0.0008228475  0.0026736371  0.0048535097  0.0202647513  0.0078234651  0.0057721437                           
TALU,  0.0001802135  0.0016813187 -0.0014310350  0.0079738883  0.0264426930  0.0039462623  0.0045295807 -0.0029915023             
TAMH,  0.0503830563  0.0374198113  0.0570325730  0.0614462504  0.0699487247  0.0458464498  0.0495537176  0.0538479008  0.0447832870
TAMI,  0.0124326227  0.0084367812  0.0151800905  0.0185017023  0.0297926185  0.0171713611  0.0146105270  0.0124166021  0.0062403654
WAKI,  0.0441483880  0.0370901589  0.0530944842  0.0487679985  0.0662810972  0.0568611033  0.0482789707  0.0446529926  0.0398464065
              TAMH,         TAMI,
CAYO,                           
LITH,                           
LITI,                           
MARH,                           
MARI,                           
PAPA,                           
PIDI,                           
TALU,                           
TAMH,                           
TAMI,  0.0324623658             
WAKI,  0.0487941792  0.0371143978



Ma question est basique :) : je voudrais savoir comment extraire de ce tableau, un sous-tableau qui ne contiendrait qu'une partie des paires de populations (par exemple seulement les distances par paires entre les populations CAYO, MARH, TALU et WAKI). Ce n'est qu'une simple sélection de lignes et colonnes, cependant je ne parviens pas à trouver comment faire cela sur un objet dist !


Merci d'avance pour votre aide :)
Chrystelle

Gabriel Terraz
Messages : 591
Enregistré le : 26 Sep 2011, 15:11

Re: [Manipulation d'un object de classe 'dist'] extraction d'une sous-matrice de distances

Messagepar Gabriel Terraz » 19 Juin 2017, 13:58

Salut,

Voici une idée en passant par une matrice :

Code : Tout sélectionner

dd <- as.dist((1 - cor(USJudgeRatings))/2) ## Un exemple de matrice de distance
DD <- as.matrix(dd) ## On passe en matrice
noms <- c("CFMG", "WRIT", "DECI")  ## distance que l'on veut conserver

d2 <- DD[rownames(DD) %in% noms,noms] ## Sélection des lignes et colonnes d'intérêt
as.dist(d2) ## On peut repasser en objet "dist"
            CFMG        DECI
DECI 0.009432048           
WRIT 0.028876516 0.000000000


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Antigone Uzunidis et 1 invité

cron