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

Bioinformatique Perl Discussion :

Statistics::Basic et récupération de valeurs


Sujet :

Bioinformatique Perl

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Bioinformaticien
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Statistics::Basic et récupération de valeurs
    Bonjour,
    Je souhaite effectuer quelques statistiques sur un jeu de données et pour cela j'utilise le module Statistics::Basic. Mais, je n'arrive pas à stocker les valeurs des résultats dans un hash. Voici le bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    use Statistics::Basic qw(:all);
     
    my %cand_pkamean;
    foreach my $cand (keys %cand_pka)
    {
        my $vector_pka=$cand_pka{$cand};
        my $mean= mean($vector_pka);
        %{$cand_pkamean{$cand}}=$mean;
    }
    %cand_pka contient des listes de valeurs (pour chaque $cand) dont je souhaite calculer la moyenne. Je souhaite ensuite stoker cette moyenne dans un nouveau hash (clé=$cand, valeur=moyenne calculée).
    Si j'affiche le contenu de ce nouveau hash (%cand_pkamean) avec Dumper, j'obtiens l'affichage d'un hash de hash:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $VAR1 = {
              '103904783_entry_00001_conf_01' => {
                                                   '7' => undef
                                                 },
              '103905032_entry_00001_conf_01' => {
                                                   '5.5' => undef
                                                 }
            };
    Or j'aimerais seulement un hash de cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $VAR1 = {
              '103904783_entry_00001_conf_01' => '7',
              '103905032_entry_00001_conf_01' => '5.5'
            };
    Quelqu'un peut-il m'aider s'il-vous-plait? Merci beaucoup.

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Si j'ai bien compris, remplace simplement la ligne où tu alimentes ton hash de moyennes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    %{$cand_pkamean{$cand}}=$mean;
    par la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $cand_pkamean{$cand} = $mean;
    ce qui te donnera un hash simple.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Bioinformaticien
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup Lolo78!
    C'était tout bête finalement :/ ... Je me mélange un peu

    Par contre, le Dump du coup affiche tout l'objet. Pour n'avoir que la moyenne dans la valeur de %cand_pkamean, il faut écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cand_pkamean{$cand}=$mean->query;
    encore merci

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    N'oubliez pas le tag .
    Sinon un module de statistic sympa : Statistics::Descriptive.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Bioinformaticien
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    oui, merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [checkbox] Récupération des valeurs de checkbox
    Par chng001 dans le forum Struts 1
    Réponses: 13
    Dernier message: 07/09/2009, 20h31
  2. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 20h58
  3. Réponses: 8
    Dernier message: 09/03/2005, 10h47
  4. récupération de valeur de lien
    Par sex-sansbol dans le forum ASP
    Réponses: 3
    Dernier message: 07/06/2004, 10h43
  5. Récupération de valeurs d'un tableau
    Par leeloo076 dans le forum ASP
    Réponses: 12
    Dernier message: 25/03/2004, 10h59

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