remplir une matrice par des valeurs
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 :
Code:
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) |
Je voudrais remplir la matrice avec les valeurs contenues dans "resultat" du dataframe.
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
Code:
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]
}
}
} |
mais les cases remplies ne sont pas celles que je veux.
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.