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 :

QCM et attribution de points


Sujet :

R

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut QCM et attribution de points
    Bonjour,
    Suite à une étude on réalise un QCM.
    On essaie d'attribuer des points différents pour chaque réponses cochées.
    Exemple:
    Pour 4 QCMs, cocher une seule réponse:
    a. vaut 1 points
    b. vaut 2 points
    c. vaut 3 points
    d. vaut 4 points
    On veut faire ensuite faire la somme des points des 4 QCM
    Exemple l'individu 1 à répondu dans l'ordre des 4 QCM: d, b, c, a
    Donc on fait la somme : 4+2+3+1=10 points au total pour cet individu.
    Comment m'y prendre sur R pour attribuer des points à chaque réponses ?
    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    une possibilité,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    x <- c("d", "b", "c", "a")
    pts <- match(x, letters[1:4])
    pts
    [1] 4 2 3 1
    sum(pts)
    [1] 10
    cdlt

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci.
    J'ai importé des données excel, sur lesquels je veux traiter des variables qualitatives (qui sont la réponse aux questions d'un QCM pour une étude)
    Variable qualitative auxquels je veux attribuer des points.
    Pour calculer un total de points pour chacun des 400 individus.
    Merci pour ton ex, mais il me semble que la formule n'est pas adaptable pour ce cas de figure.
    En effet j'aurais du préciser que je travaillais à partir de variable importée.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    bonjour,

    je t'ai donné la logique que j'utiliserais. Maintenant pour pouvoir aller plus loin il faudrait en savoir un peu plus sur la structure de tes données, est-ce que tes individus sont en lignes, les variables en colonnes et si oui est-ce qu'elles contiennent toutes les 4 premières lettres de l'alphabet, etc.
    Si ton jeu de données est sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    tab #non du jeu de données
      V1 V2 V3 V4
    1  b  a  a  c
    2  d  b  b  a
    3  b  b  a  c
    4  a  c  d  d
    5  d  a  d  b
    Alors tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rowSums(sapply(tab, function(x) match(x, letters[1:4])))
    [1]  7  9  8 12 11
    Tu peux vérifier que les sommes en ligne des scores correspondent bien aux modalités.

    cdlt

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    En effet, ça y ressemble plus. Merci tototode.
    Les variables en colonne, qui représente le numéro de la question QCM1, QCM2, QCM3.
    les individus en ligne.
    Dans QCM1, Les vecteurs sont les mots "jamais", "rarement", "souvent","toujours"
    Dans QCM2, les vecteurs sont les mots "jamais", "une fois", "plus de 3 fois", "plus de 10fois"
    Je voulais considérer que :
    "jamais"=0 pts,
    "rarement", "une fois"=1 pts,
    "souvent", "plus de 3 fois"=2 pts,
    "toujours", "plus de 10fois"=3 pts
    Pour réaliser la somme des points pour chaque individus.
    Conclusion, les vecteurs sont les réponses aux questions qui peuvent être différente les une aux autre mais classable par niveau de pts.

  6. #6
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Une possibilité est de te créer un tableau avec les modalités classés selon l'ordre des points :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    pts <- structure(list(QCM1 = structure(1:4, .Label = c("jamais", "rarement", 
    "souvent", "toujours"), class = "factor"), QCM2 = structure(c(1L, 
    4L, 3L, 2L), .Label = c("jamais", "plus de 10 fois", "plus de 3 fois", 
    "une fois"), class = "factor")), .Names = c("QCM1", "QCM2"), row.names = c(NA, 
    -4L), class = "data.frame")
    Si les QCM n'ont pas le même nombre de modalités alors stocke cet objet sous forme de liste, ça ne changera rien pour la suite.
    Ensuite tu utilises la fonction mapply sur ton tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
          QCM1            QCM2
    1 rarement          jamais
    2  souvent  plus de 3 fois
    3 toujours plus de 10 fois
    4  souvent        une fois
    5 rarement        une fois
    6  souvent plus de 10 fois
     
    rowSums(mapply(function(x, y) match(x, y), tab, pts))
    L'autre possibilité c'est de coder les réponses par ordre alphabétique, par exemple "a_jamais", "b_une fois", dans ces cas là on peut se servir de cet ordre pour attribuer les points. L'avantage de cette dernière solution c'est que le nombre de modalités peut-être différent sans que ça pose problème et en plus il n'y a pas besoin de passer par cette liste intermédiaire de correspondance entre modalités et points attribués.

    cdlt

Discussions similaires

  1. Attribution des points
    Par Christophe Charron dans le forum La taverne du Club : Humour et divers
    Réponses: 59
    Dernier message: 23/07/2011, 13h07
  2. Réponses: 2
    Dernier message: 08/10/2010, 10h19
  3. Problème d'attribution de points dans un quiz
    Par Arapeo dans le forum VBA PowerPoint
    Réponses: 0
    Dernier message: 25/11/2009, 00h35

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