CommencerCommencer gratuitement

Y a-t-il du progrès dans l’R ? (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 l’ensemble des données de vos vues quotidiennes contenues dans un vecteur. De plus, votre fonction renverra la somme des vues lors des jours d’affluence, si on le demande. Une boucle for est idéale pour itérer sur tous les éléments du vecteur. La possibilité de renvoyer la somme des vues des jours d’affluence peut être codée via un argument de fonction avec une valeur par défaut.

Cet exercice fait partie du cours

R niveau intermédiaire

Afficher le cours

Instructions

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

  • Faites de return_sum un argument optionnel, égal à TRUE par défaut.
  • À l’intérieur de la boucle for, itérez sur toutes les views : à chaque itération, ajoutez le résultat de interpret(v) à count. Rappelez-vous que interpret(v) renvoie v pour les jours d’affluence, et 0 sinon. En même temps, interpret(v) effectuera aussi des affichages.
  • Terminez la structure if :
  • Si return_sum est TRUE, renvoyez count.
  • Sinon, renvoyez NULL.

Appelez cette nouvelle fonction à la fois sur linkedin et facebook.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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