関数らしく書いてみましょう(2)
interpret() 関数の実装例はすでに用意されています。この演習では、interpret() 関数を活用して、日々のプロフィールビュー数が格納されたベクター内のすべてのデータを解釈する関数を作成します。さらに、求められた場合に人気のある日のビュー数の合計を返す機能も追加します。ベクターの全要素を繰り返し処理するには for ループが最適です。人気のある日のビュー数の合計を返す機能は、デフォルト値を持つ関数の引数として実装できます。
この演習はコースの一部です
中級 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