더북(TheBook)

4.1.1 대체 할당 연산자

이외에도 대신해서 사용할 수 있는 몇 가지 방법이 있다. f(z)의 결괏값을 x 기호에 할당하는 x <- f(z)처럼 ->를 사용하여 반대 방향으로 할당도 수행할 수 있다.

> 2 -> x1

또는 여러 객체가 모두 같은 값을 갖도록 할당 연산자도 연결할 수 있다.

> x3 <- x2 <- x1 <- 0

표현식 0은 한 번 평가되고, 똑같은 값이 세 객체에 할당된다. 어떻게 동작하는지 더 자세히 알아보기 위해 0 대신 난수 생성 함수를 사용하자.

> x3 <- x2 <- x1 <- rnorm(1)
> c(x1, x2, x3)
[1] 0.7077795 0.7077795 0.7077795

rnorm(1)은 표준 정규 분포에 따라 난수를 만드는 함수다. 할당 연산자마다 매번 난수 생성 함수를 다시 호출한다면 객체에 연결되는 값 역시 매번 달라야 한다. 하지만 그렇게 되지 않았다. 나중에 실제 내부에서 어떤 일이 일어났는지 살펴보면 왜 이렇게 되었는지를 더 잘 이해할 수 있을 것이다.

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