수치 연산

    지금까지 암시적으로 사용한 사칙 연산(+, -, *, /)을 포함한 수치 연산에 대해 알아보자. 사칙 연산은 다른 언어와 크게 다르지 않지만 약간의 문법적 차이가 있다. 다음 표에 연산자와 함수를 정리했다.

    표 3-4 수치 연산자와 함수

    연산자와 함수

    의미

    +, -, *, /

    사칙 연산

    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장. 데이터 타입’에서 이미 다뤘다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.