Bonjour,
J'ai une matrice carrée appelée "test" :
Je souhaite afficher les valeurs supérieures à la diagonale, j'ai fait ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 0 25 72 13 50 52 65 5 [2,] NA 0 37 18 25 17 10 20 [3,] NA NA 0 25 2 4 53 41 [4,] NA NA NA 0 13 17 52 2 [5,] NA NA NA NA 0 2 45 25 [6,] NA NA NA NA NA 0 29 29 [7,] NA NA NA NA NA NA 0 58 [8,] NA NA NA NA NA NA NA 0
J'affiche les valeurs par colonne, si la valeur est NA je passe à la colonne suivante. Pour tester si la valeur est bien NA, je fais class(NA) qui me renvoie "logical" mais quand je fais par exemple class(test[2,1]) ça me renvoie "numeric" alors que la valeur de test[2,1] est NA.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for(i in 1:dim(test)[2]){ for (j in 1:dim(test)[1]){ if(class(test[j,i]) == class(NA)){ break } else{ print(test[j,i]) } } }
Partager