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 |
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:
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