1. 学ぶ
  2. /
  3. コース
  4. /
  5. 中級 R

Connected

演習

lapply と無名関数

独自の関数を定義して lapply() の中で使えるようになりましたね。しかし、一度しか使わない関数をわざわざ定義するのは少し手間がかかります。そこで、R では無名関数を使うことができます。

以前学んだように、R における関数はそれ自体がオブジェクトです。つまり、関数は必ずしも名前に紐付けられるわけではありません。関数を作成するとき、代入演算子を使って名前を付けることができますが、名前を付けないことも可能です。これを無名関数と呼びます。

# Named function
triple <- function(x) { 3 * x }

# Anonymous function with same implementation
function(x) { 3 * x }

# Use anonymous function inside lapply()
lapply(list(1,2,3), function(x) { 3 * x })

split_low はあらかじめ定義されています。

指示

100 XP
  • 1つ目の lapply() の呼び出しを、同じ処理を行う無名関数を使った形に書き換えましょう。
  • 同様に、2つ目の lapply の呼び出しも、select_second() の無名バージョンを使った形に変換しましょう。
  • select_first() と select_second() の定義は不要になったので、両方削除しましょう。