작성자: admin 작성일시: 2016-09-17 14:49:20 조회수: 340 다운로드: 52
카테고리: R 태그목록:

R 함수 기초 1

함수(function)는 입력(input)을 받으면 그 입력에 해당하는 출력(output)을 내놓은 기계와 같다.

예를 들어 500원을 넣으면 생수가 나오고 1000원을 넣으면 콜라가 나오는 자판기는 다음과 같은 함수이다.

f(500) = "생수"
f(1000) = "콜라"

R에는 function 키워드를 사용하여 다음과 같이 함수를 만들 수 있다.

함수이름 <- function(입력변수이름) {
   출력변수를 만드는 명령
   return(출력변수이름)
}

예를 들어 숫자 x를 입력하면 두 배가 되도록 하는 함수는 다음과 같다.

In:
twotimes <- function(x) {
    y = 2 * x
    return(y)
}

이렇게 만들어진 함수를 사용하려면 함수 이름과 그 뒤에 괄호로 싸인 입력값을 넣으면 된다.

In:
twotimes(2)
4
In:
twotimes(10)
20

연습 문제 1

  1. 짝수가 입력되면 "짝수"라는 문자열을, 홀수가 입력되면 "홀수"라는 문자열을 출력하는 함수를 만든다.
  2. 윤년을 나타나는 수가 입력되면 "윤년"이라는 문자열을, 그렇지 않은 수가 입력되면 "평년"이라는 문자열을 출력하는 함수를 만든다.

연습 문제 2

평년의 경우에 1, 3, 5, 7, 8, 10, 12 월은 31일, 4, 6, 9, 11월은 30일, 2월은 28일이다.

월을 나타내는 숫자를 입력하면 그 달의 날짜 수를 출력하는 함수 days 를 만든다.

사용 예는 다음과 같다.

>>> days1(11)
30

여러 개의 입력을 가지는 함수

함수의 입력은 한 개가 아니라 여러 개가 되어도 상관없다. 입력 변수가 여러개이면 쉼표, 영어로 comma 를 사용하여 함수를 정의한다. 원하는만큼 얼마든지 만들 수 있다.

함수이름 <- function(입력변수1, 입력변수2, 입력변수3) {
   출력변수를 만드는 명령
   return(출력변수이름)
}
In:
add <- function(x, y) {
    return(x + y)
}
In:
add(1, 2)
3
In:
sum <- function(a, b, c) {
    s = a + b + c
    return(s)
}
In:
sum(1, 2, 3)
6

연습 문제 3

년을 나타내는 숫자와 월을 나타내는 숫자를 입력하면 그 달의 날짜 수를 출력하는 함수 days2 를 만든다.

사용 예는 다음과 같다.

>>> days2(2015, 1)
31

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!