수치 연산
지금까지 암시적으로 사용한 사칙 연산(+, -, *, /)을 포함한 수치 연산에 대해 알아보자. 사칙 연산은 다른 언어와 크게 다르지 않지만 약간의 문법적 차이가 있다. 다음 표에 연산자와 함수를 정리했다.
연산자와 함수 |
의미 |
+, -, *, / |
사칙 연산 |
n %% m |
n을 m으로 나눈 나머지 |
n %/% m |
n을 m으로 나눈 몫 |
n^m |
n의 m승 |
exp(n) |
e의 n승 |
log(x, base=exp(1)) |
logbase(x). 만약 base가 지정되지 않으면 loge(x)를 계산 |
log2(x), log10(x) |
각각 log2(x), log10(x)를 계산 |
sin(x), cos(x), tan(x) |
삼각 함수 |
위 연산자는 다른 프로그래밍 언어와 크게 다른 점은 없지만, 다음 절에서 다룰 벡터 연산을 사용해 다수의 데이터에 연산을 한 번에 수행할 수 있다는 점은 알아둘 만하다. 다음은 1, 2, 3, 4, 5 각각에 2를 곱한 뒤 1을 더한 예다. 각 숫자를 개별적으로 연산하는 것이 아니라 벡터에 통째로 연산자를 적용하고 있음을 눈여겨보기 바란다.
> 1:5 \* 2 + 1
[1] 3 5 7 9 11
연산에 있어 또 다른 특별한 객체는 행렬이다. 행렬의 연산에 대해서는 ‘2장. 데이터 타입’에서 이미 다뤘다.