始める無料で始める

lapply を自作関数で使う

解説動画でも紹介したように、lapply() は自分で作った関数にも使えます。新しい関数を定義してワークスペースで使えるようにすれば、R の組み込み関数と同じように lapply() の中で利用できます。

前の演習では、お気に入りの統計学の先駆者たちに関する情報を、2 つの文字列からなるベクトルのリストに変換するために lapply() を使いました。今回は、名前と生まれた年をそれぞれ取り出すコードを書いてみましょう。

サンプルコードには、ベクトルを受け取りその最初の要素を返す select_first() がすでに定義されています。

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

中級 R

コースを見る

演習の手順

  • select_first()``split_low[(https://www.rdocumentation.org/packages/base/functions/lapply) を使って lapply() の各要素に ] を適用し、結果を変数 names に代入してください。
  • 次に、入力したベクトルの 2 番目の要素を返す関数 select_second() を作成してください。
  • 最後に、select_second() の各要素に split_low を適用し、出力を変数 years に代入してください。

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

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

# Code from previous exercise:
pioneers <- c("GAUSS:1777", "BAYES:1702", "PASCAL:1623", "PEARSON:1857")
split <- strsplit(pioneers, split = ":")
split_low <- lapply(split, tolower)

# Write function select_first()
select_first <- function(x) {
  x[1]
}

# Apply select_first() over split_low: names


# Write function select_second()




# Apply select_second() over split_low: years
コードを編集して実行