더북(TheBook)

2.6 함수

함수란 호출이 가능한 객체를 의미한다. 기본적으로 입력(매개변수 또는 인수)을 받아 출력 값을 반환하는 내부 논리가 존재하는 시스템을 의미한다.

이미 앞 장에서 R의 내장 함수를 일부 만나 보았다. 예를 들어 is.numeric() 함수는 임의의 R 객체를 입력 인수로 받아 객체가 수치형인지 나타내는 논리 값을 반환한다. 마찬가지로 is.function() 함수로는 주어진 R 객체가 함수 객체인지 여부를 알 수 있다.

사실 R 환경에서 우리가 사용하는 모든 것은 객체이며, 실행하는 모든 것은 함수다. 그리고 이상하게 느낄 수도 있는 것이 R에서는 모든 함수 역시 객체라는 점이다. <-+ 또한 인수 2개를 취하는 함수다. 이진 연산자라고 하는 것들 역시 본질적으로는 함수다.

인터렉티브한 데이터 분석을 할 때는 기본 내장된 함수와 패키지 수천 개에서 제공하는 함수만으로도 충분하므로 스스로 함수를 만들 필요가 거의 없다.

하지만 데이터 조작이나 분석에서 어떤 로직이나 프로세스를 반복해야 할 때, 기존 함수가 특정 작업의 요구 사항이나 특별한 데이터 형식을 만족하도록 설계한 것이 아니기에 이러한 함수는 사용자 목적을 완전히 충족시키지 못할 수 있다. 그렇다면 특정 요구 사항에 맞는 함수를 직접 작성해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.