Bonjour à tous,
j'ai un problème pour remplir une matrice avec mes résultats.
Je dispose d'une matrice vide et d'un dataframe :
Je voudrais remplir la matrice avec les valeurs contenues dans "resultat" du dataframe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 mat=matrix(nrow=6,ncol=6) colnames(mat)=c("A","B","C","D","E","F") rownames(mat)=c("A","B","C","D","E","F") ligne=c(4,5,6) colonne=c(1,4,3) nom_ligne=c("D","E","F") nom_colonne=c("A","D","C") resultat=c("T","B","B-T") dat=data.frame(ligne,colonne,nom_ligne,nom_colonne,resultat)
Pour cela, je dispose dans le dataframe des indices de ligne et colonne (et leurs noms) correspondant à la case de la matrice à remplir.
J'ai codé une triple boucle, où le compteur i parcourt les indices de la ligne, j parcourt les indices de la colonnne, et z parcourt le dataframe
mais les cases remplies ne sont pas celles que je veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 taille=dim(dat)[1] for (i in ligne) { for (j in colonne) { for (z in 1:taille) { mat[i,j]<-resultat[z] } } }
Quel est le problème dans ma boucle?
Il y a moyen de le faire sans une boucle (par exemple en prenant en compte le nom des lignes et colonnes)?
Merci à tous.
Partager