IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Points : 12
    Points
    12
    Par défaut hclust à partir de 2 matrices/Calcul d'une matrice à partir de 2 tableaux différents (mêmes lignes & colonnes)
    Bonjour tout le monde,

    Comme l'explique bien le titre je veux faire un clustering hiérarchique à partir de , non pas une seule matrice, mais deux matrices qui contiennent les mêmes titres mais pas les même les valeurs.

    Mon code pour l'instant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    data1 <- read.table("Result1.csv",header=TRUE,row.names=1,sep="\t")
    data2 <- read.table("Result2.csv",header=TRUE,row.names=1,sep="\t")
     
    distdata1 <- (dist(data1)
    distdata2 <- (dist(data2)
     
    hc <- hclust(distdata1 et distdata2, "ave") #C'est ici que je veux fairele clustering des 2matrices
     
    plot(hc)
    J'ai modifié le titre pour ajouter s'il est possible de calculer une matrice de distance depuis 2 tableaux, sachant que les 2 tableaux contiennent les même titre de colonnes et de lignes mais avec des information différentes (valeurs différentes). Et donc faire un simple clustering sur cette matrice ce qui résoudra aussi mon problème.

    Merci.

    Cordialement

  2. #2
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    J'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hc <- hclust(distdata1+distdata2, "ave")
    mais je crois que cette ligne va additionner les valeurs des 2 matrices.

    je cherche encore!!

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Points : 417
    Points
    417
    Par défaut
    Bonjour,

    connaissez-vous ?

    J'espère que cela vous mettra sur la bonne voie.

    Bonne journée

  4. #4
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bonjour, Merci pour votre réponse.

    Non je ne connais pas ça et jamais utilisé.

    je vais voir à quoi il consiste et comment l'utiliser. Merci

    Cordialement

  5. #5
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    rbind (comme cbind) ne fait que coller des lignes (ou des colonnes) et ce n'est pas ce que je veux. Je veux calculer une matrice de distances à partir de 2 tableaux de données et non pas les fusionner.

    Je croyais que j'étais clair. Pour l'être encore plus :

    les informations contenues dans le 2eme tableau ne sont pas de la même nature que le 1er, mais ce sont des informations complémentaires.

    Cordialement.

  6. #6
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Bonjour,

    Dans votre premier message, vous dîtes :
    Citation Envoyé par abdel1342 Voir le message
    deux matrices qui contiennent les mêmes titres mais pas les même les valeurs.
    Ici personnellement, je comprends que vous avez deux matrices contenant les mêmes variables, pour moi : mêmes titres = mêmes noms de colonnes.

    Or ensuite vous indiquez ceci :
    Citation Envoyé par abdel1342 Voir le message
    les informations contenues dans le 2eme tableau ne sont pas de la même nature que le 1er, mais ce sont des informations complémentaires.
    Donc vous avez deux matrices dont les lignes correspondent aux mêmes individus mais qui ne contiennent pas de colonnes en commun (matrice 1 : données / matrice 2 : infos complémentaires), est-ce bien cela?

    Si tel est le cas, je ne comprends pas bien pourquoi vous ne pourriez pas utiliser la fonction "cbind" pour "coller" vos deux matrices ensembles...


    Dans une telle situation, peut-être qu'un court mais représentatif extrait de votre jeu de données pourrait éclairer les lecteurs quant à la compréhension de votre problème.


    Cordialement,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci pour votre réponse


    j'ai mis un exemple concret pour expliquer ce que je veux dire et ce que je veux obtenir.

    Voici le lien pour le télécharger. Cliquez ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    j'ai un tableau qui contient les informations suivante:
     
    names	class	info1	info2
    dog	1	12	3
    cat	1	15	2
    fish	1	10	4
    cat	2	13	1
    fish	2	12	3
    dog	2	13	4
    fish	3	12	3
    dog	3	14	1
    cat	3	13	2
     
     
    je récupère les informations selon les classes(en colonnes) et les noms (en ligne) de info1 puis de info2 
     
    donc, j'obtient le tableau suivant:(pour info1)
     
    names	class1	class2	class3
    dog	12	13	14
    cat	15	13	13
    fish	10	12	12
     
     
    j'ai calculé ma matrice de distance puis fait le clustering à partir de cela et j'obtiens un résultat satisfaisant.
     
    j'ai fait la même chose pour le résultat de de info2 qui est comme suit:
     
    names	class1	class2	class3
    dog	3	4	1
    cat	2	1	2
    fish	4	3	3
     
     
    et pareil j'obtient un résultat satisfaisant.
    ____________ Maintenant et c'est le sujet de ma question___________

    je veux exploiter le contenu des deux tableaux.

    du coup, je ne sais pas si je dois calculer une matrice de distance en regroupant les 2 tableaux

    ou, calculer la matrice de distance pour chaque tableau et faire un clustering sur 2 matrices.

    Cordialement.


    [EDIT]

    Si j'utilise cbind j'obtiendrai ce tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    names	class1	class2	class3	class1	class2	class3
    dog	12	13	14	3	4	1
    cat	15	13	13	2	1	2
    fish	10	12	12	4	3	3
    et donc si par exemple info1 soit du poids et info2 l'age.

    En calculant la matrice de distance elle va faire la liaison entre poids et age.

  8. #8
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Re-bonjour,

    Personnellement j'ai pour principe de ne pas télécharger de fichier via des liens dont je ne suis pas certaine, désolée.
    Ne pouvez-vous pas donner un "court mais représentatif" extrait de votre jeu de données directement sur le forum?

    De plus, vous n'avez pas répondu à ma question :
    Citation Envoyé par A. D. Voir le message
    Donc vous avez deux matrices dont les lignes correspondent aux mêmes individus mais qui ne contiennent pas de colonnes en commun (matrice 1 : données / matrice 2 : infos complémentaires), est-ce bien cela?

    Si tel est le cas, je ne comprends pas bien pourquoi vous ne pourriez pas utiliser la fonction "cbind" pour "coller" vos deux matrices ensembles...
    Enfin, j'avoue ne pas bien comprendre l'exemple que vous donnez... Que sont "info1" et "info2" dont vous parlez (pas présents dans l'extrait de données)?
    A quoi correspondent les colonnes de chacune des deux matrices qui vous intéressent?


    Cordialement,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Re-Bonjour,

    j'ai édité le précédent message. et je crois que ça répond à votre question. Et du contenue des info1 et info2 . qui sont des informations relatives aux sujets (dans les lignes) (ça peut être autre que poids et age, j'ai donné ça comme titre d'exemple).

    Cordialement

Discussions similaires

  1. [Débutant] Transformation d'une matrice 3D en une matrice 1D
    Par Alucard9800XT dans le forum MATLAB
    Réponses: 7
    Dernier message: 10/05/2007, 15h07
  2. [Tableaux] Calcul d'une moyenne à partir d'un tableau
    Par Mordanus dans le forum Langage
    Réponses: 13
    Dernier message: 09/05/2007, 18h03
  3. [Débutant] Calcul d'une date à partir d'une date de départ et d'une durée
    Par Marmotton76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/04/2007, 10h39
  4. Réponses: 14
    Dernier message: 09/01/2007, 16h19
  5. Réponses: 18
    Dernier message: 24/07/2006, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo