Je ne comprends pas le problème dans mon code...
J'ai une matrice (Mat_Y) qui contient 1245 lignes et 7 colonnes. Je m'intéresse aux valeurs de la 3ème colonne (Mat_Y[,3]).
Je voudrais les valeurs de cette colonne pour chaque ligne: si elle est < à 35, appliquer un calcul ; si elle est > à 35, appliquer un autre calcul.
Code : Tout sélectionner
for (i in 1:nrow(Mat_Y)) {
if (Mat_Y[i,3] < 35) { d1 <- ((Mat_Y[,3] - 20)/(35 - 20))^2 ; d1[d1 < 0] <- 0
} else { d1 <- ((Mat_Y[,3] - 45)/(35 - 45))^0.5 ; d1[d1 < 0] <- 0
}
}
Je n'ai aucune erreur quand j'applique ce code mais quand je vérifie mon d1 pour une valeur > à 35, c'est la première condition qui a été appliquée....
Est-ce quelqu'un saurait où est le problème ?
Je m'excuse d'avance si la question vous paraît basique, je suis débutante ^^