[R] Function (사용자 정의 함수) Start

BioinformaticsAndMe






R function


: 프로그래밍 언어에서 함수(Function)는 반복적으로 사용될 수 있는 문장 블록의 형태

: R은 여러 내장 함수(Built-In function)을 제공하며, 사용자가 직접 자신의 함수(User defined function)를 정의할 수 있음




1. 함수 생성 및 실행


# function 커맨드를 사용하여, 새로운 함수(myfunc)를 생성

myfunc <- function() {

print('Hello, World!')

}


# 정의된 함수(myfunc)를 실행

myfunc()

[1] "Hello, World!"




2. 함수에 특정 인수값 전달하기


: 사용자는 인수(Argument)를 통해, 특정 값을 함수에 전달할 수 있음

: 인수는 function 커맨드 다음에 있는 괄호 안에서 선언됨

*쉼표로 구분하여 지정된 개수만큼 인수 전달 가능

# x, y 인수를 갖는 함수 생성

sum <- function(x, y) {     x + y }

# sum 함수에 특정 인수값을 전달하여 실행 sum(2, 3)

[1] 5




3. 기본값(Default value) 지정하기


: 함수에서 인수는 기본값을 지정할 수 있음

: 사용자가 인수 입력없이 함수를 호출하면 기본값이 사용됨

# 인수 y에 기본값 3을 지정

pow <- function(x, y=3) {     x ^ y }

# y 인수값이 입력되지 않았으므로, 기본값 'y=3'이 사용됨 pow(2)

[1] 8

# y 인수값이 입력됐으므로, 'y=4'이 사용됨

pow(2, 4)

[1] 16




4. 함수값 반환하기


: 함수에서 특정값을 반환하기 위해서, return 커맨드를 사용

# return 커맨드를 사용하여, 함수값 반환

sum <- function(x, y) {     return(x + y) } sum(2, 3)

[1] 5

# 결과를 벡터(or 리스트)에 저장하여, 여러 값을 동시에 반환할 수 있음

math <- function(x, y) {

    add <- x + y     sub <- x - y     mul <- x * y     div <- x / y     c(addition = add, subtraction = sub, multiplication = mul, division = div) } math(6, 3)

addition subtraction multiplication division 9 3 18 2




5. 인수의 개수가 가변적인 상황


: 함수 생성시 생략부호(...)를 사용하여, 개수가 가변적인 인수를 수용함

: 사용자가 함수에 전달할 인수의 개수를 미리 알지 못하는 상황에서 유용함

# 아래 myfunc 함수는 생략부호(...)를 사용하여 , 모든 인수를 수용할 수 있음

myfunc <- function(x, ...) {

print(x)

summary(...)

}

v <- 1:10 myfunc("Summary of v:", v)

[1] "Summary of v:" Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 3.25 5.50 5.50 7.75 10.00






#Reference

1) https://www.learnbyexample.org/r-functions/





[R] Function (사용자 정의 함수) End

BioinformaticsAndMe



'R' 카테고리의 다른 글

[R] Neuroimaging Analysis  (0) 2021.02.01
[R] 국민건강영양조사 분석  (1) 2021.02.01
[R] Logistic regression (로지스틱 회귀분석)  (0) 2020.01.21
[R] Multiple linear regression (다중회귀분석)  (1) 2020.01.14
[R] ChIP-seq 분석  (1) 2020.01.05

+ Recent posts