始める無料で始める

関数らしく書いてみましょう(2)

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

この演習はコースの一部です

中級 R

コースを見る

演習の手順

interpret_all() 関数のテンプレートを完成させましょう。

  • return_sum をデフォルト値が TRUE の省略可能な引数にします。
  • for ループの内部で、views のすべての要素を繰り返し処理します。各反復で、interpret(v) の結果を count に加算してください。interpret(v) は人気のある日には v を返し、それ以外の日には 0 を返します。また、interpret(v) はいくつかの出力も行います。
  • if 構文を完成させます。
  • return_sumTRUE の場合は count を返します。
  • それ以外の場合は NULL を返します。

新たに定義したこの関数を linkedinfacebook の両方に対して呼び出してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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
コードを編集して実行