Voici un exemple de fonction simplePas de problème si j'appelle la fonction comme ceci essai(0) ou comme cela essai(1).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 essai <- function(Param) { if (Param != 0) {Param=Param*2} print(Param) }
Lorsque je l'appelle ainsi essai(c(3,7)) la fonction fonctionne, mais renvoie un warning :
C'est encore le cas avec essai(matrix(1:6,nrow=2)).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Warning message: In if (Param != 0) { : the condition has length > 1 and only the first element will be used
Ce warning semble contradictoire avec le résultat, puisqu'elle fait bien l'opération sur tous les éléments de l'objet transmis, et pas seulement sur le 1er
Est-ce que quelqu'un saurait expliquer le pourquoi de ce warning ?
Partager