Bonjour,

J'ai une matrice carrée appelée "test" :
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
Je souhaite afficher les valeurs supérieures à la diagonale, j'ai fait ceci :

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]) }
	}
}