R 에서 몫과 나머지 구하기

R 에서 몫과 나머지 구하기

개요

프로그래밍 언어의 문법에서 정말 통일이 안 되는 게 바로 몫과 나머지 연산자다. 기본적으론 다 비슷비슷하게 생긴 것 같지만 오히려 그래서 헷갈리는데 한 몫한다.C는 몫을 /, 나머지를 %으로 쓰고 파이썬은 몫을 //, 나머지를 % 으로 쓰며, 이렇게 헷갈리는 예는 얼마든지 더 들 수 있다.

도대체 통계와 행렬 계산에 초점을 맞춘 R 에서 몫과 나머지를 구할 일이 어디 있겠냐 싶겠지만, 의외로 계절성에 관한 코딩이나 범주형 자료를 핸들링 할 때 모듈로 연산이 심심치 않게 등장한다. 몫은 %/%, 나머지는 %%로 구한다. 아래의 예시를 한 번 살펴보자.

예시

20171111\_152354.png

$13$ 을 $5$로 나눈 몫은 $2$ 고 나머지는 $3$으로, 정확하게 계산이 되었음을 알 수 있다. R 에서는 + , - , \ast\ , / , ^ 다섯가지의 기본 연산과 논리 연산자 등을 제외하곤 모두 %와 % 사이에 어떤 걸 넣어서 새 연산자를 만든다. %% 를 % 사이에 아무것도 아닌 것을 넣었다는 센스로 생각해보면 예외 없이 적용되는 규칙이므로 외우기 쉬울 것이다.

다행스럽게도 논리 연산자는 == , > , < , != , & , | 처럼 다른 언어에서도 쓰는 일반적인 형태를 공유한다.

참고로 R 의 사용자가 주로 통계 분석을 목적으로 하다보니 잘들 모르는 사실인데, R 에는 복소수가 구현되어 있다. 20171111\_164130.png str 함수를 통해 구조를 살펴보면 cplx (complex number) 로 확인이 가능하다. 이러한 복소수 역시 기본적인 연산자로 아무 문제 없이 계산할 수 있다.

댓글