R-기능
함수는 특정 작업을 수행하기 위해 함께 구성된 문 집합입니다. R에는 많은 내장 함수가 있으며 사용자는 자신의 함수를 만들 수 있습니다.
R에서 함수는 객체이므로 R 인터프리터는 함수가 작업을 수행하는 데 필요할 수있는 인수와 함께 제어를 함수에 전달할 수 있습니다.
함수는 그 작업을 수행하고 다른 객체에 저장 될 수있는 결과는 물론 인터프리터에게 제어를 반환합니다.
기능 정의
R 함수는 키워드를 사용하여 생성됩니다. function. R 함수 정의의 기본 구문은 다음과 같습니다.
function_name <- function(arg_1, arg_2, ...) {
Function body
}
기능 구성 요소
함수의 다른 부분은-
Function Name− 이것은 함수의 실제 이름입니다. 이 이름을 가진 객체로 R 환경에 저장됩니다.
Arguments− 인수는 자리 표시 자입니다. 함수가 호출되면 인수에 값을 전달합니다. 인수는 선택 사항입니다. 즉, 함수는 인수를 포함하지 않을 수 있습니다. 또한 인수는 기본값을 가질 수 있습니다.
Function Body − 함수 본문에는 함수의 기능을 정의하는 명령문 모음이 포함되어 있습니다.
Return Value − 함수의 반환 값은 평가할 함수 본문의 마지막 표현식입니다.
R에는 많은 in-built먼저 정의하지 않고 프로그램에서 직접 호출 할 수있는 함수. 우리는 또한 우리 자신의 함수를 만들고 사용할 수 있습니다.user defined 기능.
내장 기능
내장 함수의 간단한 예는 다음과 같습니다. seq(), mean(), max(), sum(x) 과 paste(...)등. 사용자가 작성한 프로그램에 의해 직접 호출됩니다. 가장 널리 사용되는 R 함수를 참조 할 수 있습니다 .
# Create a sequence of numbers from 32 to 44.
print(seq(32,44))
# Find mean of numbers from 25 to 82.
print(mean(25:82))
# Find sum of numbers frm 41 to 68.
print(sum(41:68))
위 코드를 실행하면 다음과 같은 결과가 생성됩니다.
[1] 32 33 34 35 36 37 38 39 40 41 42 43 44
[1] 53.5
[1] 1526
사용자 정의 기능
R에서 사용자 정의 함수를 만들 수 있습니다. 사용자가 원하는 기능에 따라 다르며 생성 된 후에는 내장 함수처럼 사용할 수 있습니다. 다음은 함수를 만들고 사용하는 방법의 예입니다.
# Create a function to print squares of numbers in sequence.
new.function <- function(a) {
for(i in 1:a) {
b <- i^2
print(b)
}
}
함수 호출
# Create a function to print squares of numbers in sequence.
new.function <- function(a) {
for(i in 1:a) {
b <- i^2
print(b)
}
}
# Call the function new.function supplying 6 as an argument.
new.function(6)
위 코드를 실행하면 다음과 같은 결과가 생성됩니다.
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36
인수없이 함수 호출
# Create a function without an argument.
new.function <- function() {
for(i in 1:5) {
print(i^2)
}
}
# Call the function without supplying an argument.
new.function()
위 코드를 실행하면 다음과 같은 결과가 생성됩니다.
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
인수 값이있는 함수 호출 (위치 및 이름 별)
함수 호출에 대한 인수는 함수에 정의 된 것과 동일한 시퀀스로 제공되거나 다른 시퀀스로 제공되지만 인수 이름에 할당 될 수 있습니다.
# Create a function with arguments.
new.function <- function(a,b,c) {
result <- a * b + c
print(result)
}
# Call the function by position of arguments.
new.function(5,3,11)
# Call the function by names of the arguments.
new.function(a = 11, b = 5, c = 3)
위 코드를 실행하면 다음과 같은 결과가 생성됩니다.
[1] 26
[1] 58
기본 인수로 함수 호출
함수 정의에서 인수 값을 정의하고 인수를 제공하지 않고 함수를 호출하여 기본 결과를 얻을 수 있습니다. 그러나 인수의 새 값을 제공하여 이러한 함수를 호출하고 기본값이 아닌 결과를 얻을 수도 있습니다.
# Create a function with arguments.
new.function <- function(a = 3, b = 6) {
result <- a * b
print(result)
}
# Call the function without giving any argument.
new.function()
# Call the function with giving new values of the argument.
new.function(9,5)
위 코드를 실행하면 다음과 같은 결과가 생성됩니다.
[1] 18
[1] 45
기능의 지연 평가
함수에 대한 인수는 느리게 평가되므로 함수 본문에서 필요할 때만 평가됩니다.
# Create a function with arguments.
new.function <- function(a, b) {
print(a^2)
print(a)
print(b)
}
# Evaluate the function without supplying one of the arguments.
new.function(6)
위 코드를 실행하면 다음과 같은 결과가 생성됩니다.
[1] 36
[1] 6
Error in print(b) : argument "b" is missing, with no default