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

R Discussion :

Calcul de moyenne


Sujet :

R

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 103
    Points : 38
    Points
    38
    Par défaut Calcul de moyenne
    Bonjour,

    j'aurais besoin de votre aide afin de calculer des moyennes, des variances, écarts-types, etc.

    J'ai un fichier de sortie en format .csv, que je peux évidemment transformer en .txt si besoin est...
    Ce fichier se compose de 2 colonnes et de 10241 lignes. La seconde colonne comporte les valeurs qui m’intéressent.

    Je souhaite obtenir la moyenne des 20 premiers chiffres puis des 20 suivants, etc. Soit au final 512 moyennes.
    Et également si possible avoir la variance et l'écart-type...

    Je vous remercie pour votre aide !

    Bonne fin de journée à tous,

    Y.

  2. #2
    Membre régulier Avatar de Yoan73
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Un début de solution :

    J'ai créé une table de 15 individus comme suit :
    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
     
    > table0
       Nombre
    1    15.0
    2    12.0
    3    16.0
    4    18.0
    5    25.0
    6    84.0
    7    75.0
    8    21.0
    9    10.0
    10   12.0
    11   93.0
    12   10.2
    13   10.0
    14   19.3
    15    2.5
    J'ai ensuite cherché à avoir les moyennes de ces valeurs 5 par 5. J'ai donc créé une variable fictive "Groupe" :
    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
     
    > table0$Groupe = rep(1:3,each=5)
    > table0
       Nombre Groupe
    1    15.0      1
    2    12.0      1
    3    16.0      1
    4    18.0      1
    5    25.0      1
    6    84.0      2
    7    75.0      2
    8    21.0      2
    9    10.0      2
    10   12.0      2
    11   93.0      3
    12   10.2      3
    13   10.0      3
    14   19.3      3
    15    2.5      3
    Puis j'ai utilisé la fonction "aggregate" (ma préférée) pour regrouper les valeurs par groupe de 5 individus afin de trouver les résultats voulus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    > #Moyenne
    > aggregate(table0$Nombre, by=list(Groupe=table0$Groupe), FUN=mean)
      Groupe    x
    1      1 17.2
    2      2 40.4
    3      3 27.0
    > #Standard Deviation (Ecart Type)
    > aggregate(table0$Nombre, by=list(Groupe=table0$Groupe), FUN=sd)
      Groupe         x
    1      1  4.868265
    2      2 36.073536
    3      3 37.372383
    Bien à vous,

    Yoan.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 103
    Points : 38
    Points
    38
    Par défaut
    Merci de votre aide.
    Je vais regarder ça même si l'absence de code ne me facilite pas la tâche

  4. #4
    Membre régulier Avatar de Yoan73
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 75
    Points
    75
    Par défaut
    Hummm, la seule chose qui va changer pour votre jeu de données ça va être cette ligne il me semble :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    table0$Groupe = rep(1:3,each=5)
    Il faudra la remplacer par quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    table0$Groupe = rep(1:512,each=20)
    Et je pense que ça sera bon, par contre, il faudra ôter le dernier individu de table0 car il ne sera affecté à aucun groupe (512 * 20 = 10 240)

    Et après le code reste le même.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #Moyenne
    aggregate(table0$Nombre, by=list(Groupe=table0$Groupe), FUN=mean)
    #Standard Deviation (Ecart Type)
    aggregate(table0$Nombre, by=list(Groupe=table0$Groupe), FUN=sd)
    Sinon n'hésitez pas à me dire si cette méthode ne fonctionne pas et à quelle niveau.

    Bien à vous,

    Yoan.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 103
    Points : 38
    Points
    38
    Par défaut
    ok, merci je vais regarder ça au plus vite
    Merci encore!

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 103
    Points : 38
    Points
    38
    Par défaut
    Bon, j'ai essayé, mais en rentrant le code, il m'indique des erreurs dès la création du tableau...
    C'est pas grave, j'ai trouvé une solution assez simple en passant par Excel.

    Merci quand même.

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

Discussions similaires

  1. [VBA-E] problème de calcul de moyenne
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/04/2006, 17h13
  2. [Oracle] Calcul de moyenne par module
    Par naazih dans le forum Langage SQL
    Réponses: 14
    Dernier message: 27/04/2006, 14h38
  3. Programmation Shell avec Red Hat Calcul de moyenne
    Par jcpoulard dans le forum Linux
    Réponses: 3
    Dernier message: 22/02/2006, 22h08
  4. methode qui calcul une moyenne du traffic
    Par siry dans le forum Développement
    Réponses: 7
    Dernier message: 05/05/2005, 17h16
  5. calculer une moyenne avec une requete externe
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 16h02

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