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 :

Transformer un jeu de données pour chaque participant


Sujet :

R

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Transformer un jeu de données pour chaque participant
    Bonjour à tous,
    Je dispose d'un jeu de données de la forme:

    Sujet TR1 TR2
    1 1 4
    1 2 5
    1 3 6
    2 7 10
    2 8 11
    2 9 12

    Je souhaite, pour chaque participant, associer toutes ses valeurs de S1 à toutes ses valeurs de S2, ce qui donnerai :

    Sujet NewS NewS2
    1 1 4
    1 1 5
    1 1 6
    1 2 4
    1 2 5
    1 2 6
    1 3 4
    1 3 5
    1 3 6
    2 7 10
    2 7 11
    2 7 12
    2 8 10
    2 8 11
    2 8 12
    2 9 10
    2 9 11
    2 9 12

    J'ai réussi à faire cette opération pour un seul sujet, c'est à dire passer de:

    1 4
    2 5
    3 6

    à

    1 4
    1 5
    1 6
    2 4
    2 5
    2 6
    3 4
    3 5
    3 6

    Le hic, c'est que je n'arrive pas à trouver comment faire pour appliquer mes formules à chaque participant.

    Voici mon code (le fichier source étant simplement le jeu de données présenté ci-dessus

    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
    attach(testsAppariementsDataSimples)
     
    a=length(TR1)
     
    #Obtenir colonne 1 (n répétions des i valeurs): OK
    c1<-testsAppariementsDataSimples[,"TR1",drop = FALSE ]
     
     
    df<-c1[rep(1:nrow(c1), each = (a)),] 
    newC1<-as.data.frame(df)
    newC1
     
    #Work Colonne 2: OK
    c2<-testsAppariementsDataSimples[,"TR2"]
    c2
    NC2<-c(rep(c2,a))
    NC2
    newc2<-as.matrix(NC2)
    newc2
     
    #fusionner les 2 new colonnes
    NM=cbind(newC1,newc2)
    NM
    Est ce que quelqu'un aurait une idée ?
    Je suppose que je vais devoir passer par une boucle, mais je m'y connais très peu...

    Merci d'avance pour aide,

    Lucas

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    En utilisant merge plutôt que cbind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    merge(testsAppariementsDataSimples[,c("Sujet","TR1")],
          testsAppariementsDataSimples[,c("Sujet","TR2")],
          by="Sujet")
    Bon courage.
    Olivier

Discussions similaires

  1. Création d'un jeu de données pour un test de charge avec Benerator
    Par ra77 dans le forum Tests et Performance
    Réponses: 4
    Dernier message: 12/07/2014, 23h44
  2. jeu de données pour tester
    Par mapmip dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2013, 15h56
  3. Récupérer les données pour chaque lien à part
    Par rose2011 dans le forum Langages serveur
    Réponses: 0
    Dernier message: 18/08/2010, 12h53
  4. Exporter un jeu de donnée pour travailler à l'extérieur
    Par funkyjul dans le forum Réplications
    Réponses: 3
    Dernier message: 09/10/2009, 09h43

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