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 :

Structure pour fréquences puis calcul de moyenne


Sujet :

R

  1. #1
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    259
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 259
    Points : 177
    Points
    177
    Par défaut Structure pour fréquences puis calcul de moyenne
    J'ai un souci pour représenter mes données sous R dans une structure avec laquelle je puisse travailler...
    Calculer une moyenne par mean() par exemple ou faire un summary().
    Je reprends ici la description de mes données de mon post précédent :
    Les données sont simples :
    - des notes variant de 0 à 20
    - un nombre d'étudiants ayant eu la note considérée
    J'ai pour cela créé un premier vecteur de notes :
    Puis un deuxième vecteur n :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n<-c(2,0,0,4,0,3,4,10,6,5,8,13,10,7,8,5,2,0,3,0,0)
    signifiant que
    - 2 étudiants ont eu 0
    - 0 étudiants ont eu 1
    - 0 étudiants ont eu 2
    - 4 étudiants ont eu 3
    etc...

    Je voudrais maintenant créer une structure sur laquelle je puisse faire un mean().
    J'ai essayé un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    table.1<-table(notes,n)
    # et un 
    mean(table.1)
    mais le resultat n'est pas celui escompté.
    De même avec un ou bien comme précédemment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tapply.1<-tapply(notes,n,sum) 
    # puis 
    mean(tapply.1)
    Je pourrais evidemment faire une boucle sur mes 2 vecteurs n et notes et faire moi-même le calcul mais bon, je voudrais utiliser les fonctions prévues pour...
    merci

  2. #2
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    259
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 259
    Points : 177
    Points
    177
    Par défaut
    La seule solution que j'ai trouvé n'utilise pas mean()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mul<-(n*notes)
    moyenne<-sum(mul)/sum(n)
    mais bon...dur dur de faire les quartiles facilement ensuite...

  3. #3
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Bonjour,

    Je vois deux possibilités
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    > notes <- c(0:20)
    > n <- c(2, 0, 0, 4, 0, 3, 4, 10, 6, 5, 8, 13, 10, 7, 8, 5, 2, 0, 3, 0, 0)
     
    > mean(rep(notes, n))   # crée un vecteur avec toutes les notes
    [1] 10.23333
     
    > weighted.mean(notes, n)
    [1] 10.23333
    Pour les quartiles, tu peux facilement adapter la première solution

  4. #4
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    259
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 259
    Points : 177
    Points
    177
    Par défaut
    c'est parfait, merci !

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

Discussions similaires

  1. [DeskI XiR2] Compter des valeurs même identiques pour calculer une moyenne
    Par courti01 dans le forum Débuter
    Réponses: 4
    Dernier message: 14/10/2010, 10h00
  2. [Modèle Relationnel] Utilitaire pour notes,calcul de moyenne
    Par TWEESTY dans le forum Schéma
    Réponses: 6
    Dernier message: 29/06/2010, 19h30
  3. Réponses: 4
    Dernier message: 14/12/2009, 21h31
  4. calculer des moyennes pour des sous groupes
    Par madib dans le forum SAS Base
    Réponses: 3
    Dernier message: 04/02/2009, 17h50

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