1. 학습
  2. /
  3. 강의
  4. /
  5. R 중급

Connected

연습 문제

lapply와 익명 함수

여러분만의 함수를 작성하고 이를 lapply() 안에서 사용하는 건 꽤 멋진 일입니다! 하지만 한 번만 쓰려고 함수를 정의하는 건 다소 과한 느낌이죠. 그래서 R에서는 이른바 익명 함수를 사용할 수 있어요.

앞서 배웠듯이 R에서 함수는 그 자체로 객체입니다. 즉, 자동으로 이름에 묶이지 않아요. 함수를 만들 때는 할당 연산자를 사용해 이름을 붙일 수 있지만, 이름을 붙이지 않아도 전혀 문제없습니다. 이렇게 이름이 없는 함수를 익명 함수라고 합니다:

# 이름 있는 함수
triple <- function(x) { 3 * x }

# 같은 구현을 가진 익명 함수
function(x) { 3 * x }

# lapply() 안에서 익명 함수 사용
lapply(list(1,2,3), function(x) { 3 * x })

split_low 는 이미 정의되어 있어요.

지침

100 XP
  • 첫 번째 lapply() 호출이 같은 일을 하도록, 익명 함수를 사용하도록 바꿔 보세요.
  • 비슷한 방식으로, 두 번째 lapply 호출도 select_second() 함수의 익명 버전을 사용하도록 변환하세요.
  • 이제 필요 없으므로 select_first() 와 select_second() 정의는 둘 다 제거하세요.