Bonjour à tous,
J'ai un problème avec ma boucle for + boucle of qui parcours une matrice.
J'ai une matrice du genre :
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 > 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
Mais ca ne fonctionne pas, j'obtiens :
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] }
quelqu'un pourrait me dire d'où mon erreur vient ?
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
Merci d'avance
Partager