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
Instructions
Complétez le modèle de la fonction interpret_all() :
- Faites de
return_sumun argument optionnel, égal àTRUEpar défaut. - À l’intérieur de la boucle
for, itérez sur toutes lesviews: à chaque itération, ajoutez le résultat deinterpret(v)àcount. Rappelez-vous queinterpret(v)renvoievpour les jours d’affluence, et0sinon. En même temps,interpret(v)effectuera aussi des affichages. - Terminez la structure
if: - Si
return_sumestTRUE, renvoyezcount. - 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