R 프로그래밍을 배운다는 것은 곧 R이 제공하는 수많은 “함수(Function)” 사용법을 내 것으로 만드는 과정입니다. 함수는 복잡한 수학 계산이나 데이터 처리를 단어 하나로 해결해 주는 마법 주문과도 같습니다.
본 포스팅에서는 R에서 기본적으로 제공하는 내장 함수의 작동 원리를 이해하고, 모르는 함수를 만났을 때 스스로 도움말을 찾아 활용하는 법, 그리고 최근 R 생태계에서 필수적으로 사용되는 파이프 연산에 대해서도 추가로 다루겠습니다.
1. 함수란 무엇인가요? (Input과 Output의 마술 상자)
함수는 자판기와 같습니다. 동전(Input)을 넣고 버튼을 누르면 음료수(Output)가 나옵니다. R에서는 괄호 ()를 열고 닫는 것으로 함수를 실행합니다.
# 가장 기본적인 출력 함수인 print()
print("Hello, Statistics Playbook!")
> [1] "Hello, Statistics Playbook!"
수학에서 자주 쓰이는 계산도 간단한 단어로 해결됩니다. 예를 들어 숫자의 절대값(Absolute Value)을 구하려면 abs()를 사용합니다.
# -5의 절대값을 계산합니다.
abs(-5)
> [1] 5
2. 여러 개의 재료를 넣기: 인수(Arguments)의 구조
함수는 때론 여러 개의 재료(인수)를 필요로 합니다. 여러 개의 숫자를 넣을 때 R에게 “이것들은 하나의 묶음이야!”라고 알려주기 위해 결합 함수인 c()를 주로 함께 사용합니다.
# 예제 데이터: 5명의 수학 점수
scores <- c(85, 90, 78, 100, 92)
# 1. 합계 구하기 (sum)
sum(scores)
> [1] 445
# 2. 평균 구하기 (mean)
mean(scores)
> [1] 89
💡 최신 R 트렌드 (R 4.1.0 이상 전용)
앞선 코드처럼 mean(scores)로 괄호 안에 재료를 넣을 수도 있지만, 최근 R 생태계에서는 데이터 자체에 함수를 점진적으로 연결하는 파이프 연산자 사용이 필수적인 트렌드로 자리 잡았습니다. R 버전에 기본 내장된 네이티브 파이프 연산자 |>를 활용하면 다음과 같이 직관적인 표현이 가능합니다.
# scores 값에서 출발하여 mean()을 적용한다!
scores |> mean()
> [1] 89
인수의 이름을 지정해서 넣기
함수는 본연의 임무 외에도 “옵션”을 지정할 수 있습니다. 예를 들어 round() 함수는 숫자를 반올림하는데, 소수점 몇째 자리까지 보여줄지를 digits라는 이름표(인수명)를 달아 지시할 수 있습니다.
# 기본 사용: 정수로 반올림
round(3.141592)
> [1] 3
# 옵션 사용: 소수점 둘째 자리까지!
round(3.141592, digits = 2)
> [1] 3.14
3. 모르는 함수가 나타났다면? 도움말 ? 부르기
데이터 분석 실무를 하다 보면 평생 한 번도 못 본 함수를 매일같이 마주칩니다. 이럴 때 구글에 검색하기 전 RStudio 내에서 가장 빠르게 기능을 확인하는 치트키가 바로 물음표 ? 입니다.
# sum 함수의 정체가 뭐지?
?sum
명령어 창(Console)에 ?함수이름을 적고 엔터를 치면, 우측 하단의 [Help] 패널에 해당 함수의 공식 설명서가 등장합니다. 설명서에서 꼭 확인해야 할 3가지 파트는 다음과 같습니다.
- Description(설명): 이 함수가 도대체 무엇을 하는 녀석인지 한 줄 요약
- Arguments(인수): 괄호 안에 어떤 재료들을 어떤 이름으로 넣어야 하는지
- Examples(예제): 가장 밑바닥에 위치한 “실전 코드 예시”. 사실상 이 예제 코드를 복사해서 내 데이터에 맞춰 돌려보는 것이 가장 빠른 학습법입니다.
R은 사실 이 “함수들의 거대한 집합”에 다름이 아닙니다. 함수에 정확한 재료를 넣어보고, 에러가 나면 ?를 쳐서 해결책을 찾는 과정을 반복하다 보면 어느새 고급 분석가로 성장해 있을 것입니다.
당신이 좋아할 만한 콘텐츠
by Google Adsense