Challenge #2

Vous savez coder des boucles, vous savez manipuler des matrices et vous avez même appris à créer des fonctions. En principe, avec un aussi solide bagage, vous devriez pouvoir faire ce qui suit.

Soit X, une matrice de dimensions inconnues [n, t].

Je vais vous demander de me coder une fonction nommée foo de la forme :

foo <- function(X, byrow = FALSE) {
 ...
 return(res)
}

Qui me retourne un vecteur de longueur t contenant les sommes des colonnes de X si byrow = FALSE ou un vecteur de longueur n contenant les sommes des lignes de X si byrow = TRUE.

Par exemple, avec :

X <- matrix(1, 5, 3)

Je dois obtenir :

> foo(X, byrow = TRUE)
[1] 3 3 3 3 3
> foo(X, byrow = FALSE)
[1] 5 5 5

NB : quand vous codez une fonction, utilisez toujours un exemple simple et visuel et n’hésitez pas à tester pas à pas ce qui se passe dans le corps de votre fonction (entre les accolades).

Pour les tricheurs, les solutions sont ici.

Aucun commentaire:

Enregistrer un commentaire