Cela fait plusieurs jours (voir semaines) que je n'arrive pas à regler mon problème.
Dans un premier temps, j'ai dans une fonction, une partie de mon code qui va créer des vecteurs :
Code : Tout sélectionner
for (i in cond){
for (j in x){
mat4=matrix(assign(pos=1,paste(j,i,rq,sep=""),mate2[,j][grep(pattern=i,rownames(mate2))]),byrow=F,ncol=length(unique(name)[grep(pattern=i,unique(name))]))
print(mat4)
}
}
Cette partie de code fonctionne normalement: mes vecteurs sont bien crée et lorsque j'appelle la fonction, "print(mat4)" affiche bien le nombre de matrice "mat4" voulu (pour chaque matrice, 1 ligne et 6 colonnes correspondant au vecteur créer).
Maintenant je souhaite compléter le code de manière à mettre ces matrice "mat4" dans une seule et même matrice :
Code : Tout sélectionner
reslt<-matrix(ncol=6,nrow=4)#création d'une matrice vide
colnames(reslt)<-0:5
rownames(reslt)<-apply(expand.grid(x, cond, rq), 1, paste, collapse = "")
for (i in cond){
for (j in x){
for (n in rownames(reslt)){
mat4=matrix(assign(pos=1,paste(j,i,rq,sep=""),mate2[,j][grep(pattern=i,rownames(mate2))]),byrow=F,ncol=length(unique(name)[grep(pattern=i,unique(name))]))
reslt[n,]<-mat4
}
}
}
print(reslt)
}
Le code marche, le problème et qu'il ne tient compte que de la dernière matrice "mat4" créer. Je ne comprend pas bien, puisque la matrice vide et en dehors de la boucle, en théorie elle devrait se remplir au fur et a mesure?
Si quelqu'un a une solution (de préference en restant avec la distri de bases de R, mais je suis ouvert à toutes suggestion).
Merci.
Stéphane