CommencezCommencez gratuitement

R you functional? (2)

Une implémentation possible de la fonction interpret() vous est fournie. Dans cet exercice, vous allez écrire une autre fonction qui utilisera interpret() pour interpréter toutes les données de vos consultations quotidiennes de profil contenues dans un vecteur. De plus, votre fonction retournera la somme des vues lors des journées populaires, si on le demande. Une boucle for est idéale pour parcourir tous les éléments du vecteur. La capacité de retourner la somme des vues lors des journées populaires peut être codée au moyen d'un argument de fonction avec une valeur par défaut.

Cette activité fait partie du cours

R intermédiaire

Voir le cours

Instructions de l’exercice

Complétez le modèle de la fonction interpret_all() :

  • Faites de return_sum un argument optionnel, dont la valeur par défaut est TRUE.
  • À l'intérieur de la boucle for, itérez sur tous les éléments de views : à chaque itération, ajoutez le résultat de interpret(v) à count. Rappelez-vous que interpret(v) retourne v pour les journées populaires, et 0 sinon. En même temps, interpret(v) fera aussi quelques affichages.
  • Terminez la structure if :
  • Si return_sum est TRUE, retournez count.
  • Sinon, retournez NULL.

Appelez cette nouvelle fonction sur linkedin et facebook.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# The linkedin and facebook vectors have already been created for you
linkedin <- c(16, 9, 13, 5, 2, 17, 14)
facebook <- c(17, 7, 5, 16, 8, 13, 14)

# The interpret() can be used inside interpret_all()
interpret <- function(num_views) {
  if (num_views > 15) {
    print("You're popular!")
    return(num_views)
  } else {
    print("Try to be more visible!")
    return(0)
  }
}

# Define the interpret_all() function
# views: vector with data to interpret
# return_sum: return total number of views on popular days?
interpret_all <- function(views, return_sum) {
  count <- 0

  for (v in views) {

  }

  if (return_sum) {

  } else {

  }
}

# Call the interpret_all() function on both linkedin and facebook
Modifier et exécuter le code