Bonjour à tous,

J'ai un problème avec ma boucle for + boucle of qui parcours une matrice.
J'ai une matrice du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
> mat
              m          n
[1,] -3.6989596  1.1571740
[2,] -0.4700084  1.1571740
[3,]  0.2969587  0.2198091
[4,]  0.3898892 -4.7359769
[5,]  5.2133679 -2.6597122
et je voudrais que si pour chaque ligne, la valeur des deux colonnes en valeur absolue est superieur à deux, alors je garde la ligne, sinon je ne la garde pas. J'ai donc creer une matrice, que je rempli si les conditions sont remplies, sinon, non de cette facon

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
c <- matrix(data = NA, nrow = 5, ncol = 2)
 
	for(i in 1 :nrow(mat))
		{
		if(abs(mat[i,1])>2 && abs(mat[i,2])>2) 
			c[i,1]<-mat[i,1] 
			c[i,2]<-mat[i,2]
		}
Mais ca ne fonctionne pas, j'obtiens :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
         [,1]       [,2]
[1,]       NA  1.1571740
[2,]       NA  1.1571740
[3,]       NA  0.2198091
[4,]       NA -4.7359769
[5,] 5.213368 -2.6597122
quelqu'un pourrait me dire d'où mon erreur vient ?

Merci d'avance