12.5 함수

함수는 함수에 제공하는 입력으로 실행할 수 있는 코드 블록을 포함하는 개체 유형이다. 이러한 개체는 코드를 한 번 작성하는 모범 사례를 따르는 좋은 방법이다. 일반적으로 프로젝트 전체에서 사용할 수 있다고 생각되는 코드 블록은 나중에 사용할 함수로 래핑할 수 있다. 함수 개체를 만드는 방법은 다음과 같다.

my_fun <- function(x, y) {
            r = x * 2 + y
            r
}

중괄호 {} 사이의 코드가 함수를 구성한다. 이러한 중괄호 안에는 함수에서 매개 변수로 선언된 새 개체와 참조 개체를 만들 수 있다. 매개 변수는 function 키워드 뒤의 괄호 안에 표시되는 쉼표로 구분된 목록에 선언된다. 함수는 함수 자체보다 먼저 선언된 경우 함수 외부에서 선언 된 개체를 사용할 수도 있다.

매개 변수 목록과 코드 블록을 포함하는 함수가 my_fun 개체에 할당된다. 콘솔에 개체 이름을 입력하여 함수의 코드를 출력하여 함수를 검사 할 수 있다.

함수를 사용하려면 함수 이름 다음에 다음과 같이 쉼표로 구분된 매개 변수 목록을 입력해야 한다.

my_fun(3, 189)
## [1] 195

이것은 숫자 개체 195를 반환할 것이다. 함수에서 일어나는 일은 코드의 각 줄이 실행되고 마지막 코드 줄이 호출자에게 반환된다는 것이다. my_fun의 마지막 코드 줄은 계산 결과이다.

개체 이름에 할당되지 않은 함수를 익명 함수라고하며 lapply 또는 sapply와 같은 함수에 대한 매개 변수로 자주 사용된다. 이러한 함수는 동일한 방식으로 작동하지만 반드시 표준 함수와 동일한 방식으로 재사용되는 것은 아니다.