Bonjour,

Je me retrouve à devoir écrire cette boucle très inefficace :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
for (i in 1:n) {
    for (j in 1:n) {
        if (A[i,j]>0) W_nc[nums[i],nums[j]] = W[i,j]
    }
}
où "nums" est un vecteur de taille n, contenant des indices dans [1,nc] correspondant à i et j dans [1,n]. Les autres éléments de W_nc valent 0.

Y-a-t'il un moyen d'écrire quelque chose comme "for ( (i,j) in all_positive_pairs(A) ) do W_nc[nums[i],nums[j]] = W[i,j]" ? Ou faut-il le coder en C ? (Auquel cas il faudra que j'apprenne à le faire, je code en C/C++ et un peu en R, mais n'ai pas encore mélangé les deux :-) )

Merci d'avance !