Вы функциональны? (2)
Для вас уже подготовлена реализация функции interpret(). В этом упражнении вы напишете ещё одну функцию, которая будет использовать interpret() для анализа всех данных о ежедневных просмотрах вашего профиля из вектора. Кроме того, ваша функция будет возвращать сумму просмотров за популярные дни — если это потребуется. Для перебора всех элементов вектора отлично подойдёт цикл for. Возможность возвращать сумму просмотров за популярные дни можно реализовать через аргумент функции со значением по умолчанию.
Это упражнение является частью курса
Intermediate R
Инструкции к упражнению
Завершите шаблон функции interpret_all():
- Сделайте
return_sumнеобязательным аргументом со значениемTRUEпо умолчанию. - Внутри цикла
forвыполните перебор всех элементовviews: на каждой итерации прибавляйте результатinterpret(v)кcount. Помните, чтоinterpret(v)возвращаетvдля популярных дней и0в остальных случаях. При этомinterpret(v)также выводит сообщения на экран. - Завершите конструкцию
if: - Если
return_sumравноTRUE, вернитеcount. - Иначе верните
NULL.
Вызовите эту новую функцию для векторов linkedin и facebook.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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