[02-1] R언어 - Assignment (할당)

Language/R 2017.11.10 18:36 posted by TechNote.kr


R언어에서 임의의 object에 특정 값을 할당하는 방법에는 여러 방법이 있다. 


  1. '<-' 그리고 '->'
  2. '='
  3. assign function


가장 기본적인 data structure 중 하나인 numeric vector를 예를 들어 할당 방법에 대해 알아보자




1. '<-' 그리고 '->'


> a1 <- c(1,3,5,7,9)
> a1
[1] 1 3 5 7 9


> c(1,3,5,7,9) -> a2
> a2
[1] 1 3 5 7 9


많은 R언어 관련 예제들이 해당 방법을 사용해서 할당을 하고 있다. 

C언어에서 동일한 기호를 다른 목적으로 사용하는 만큼 헷갈리지 않도록 잘 인지가 필요하다. 




2. '='


'<-'나 '->'의 경우는 2개의 문자를 사용해야 한다. 이를 좀 더 줄이기 위해, 다른 언어에서의 할당과 마찬가지로 '='도 마찬가지로 사용 가능하다. 


> b1 = c(2,4,6,8,0)
> b1
[1] 2 4 6 8 0

> c(2,4,6,8,0) = b2
Error: object 'b2' not found

하지만 위의 예와 같이 '=' 사용시는 오른쪽의 값을 왼쪽의 object에 할당한다는 점을 명심해야 한다. 

반대로 할 경우 object not found error가 발생한다. 




3. assign function


> assign("c1", c(1,4,7,2,5,8))
> c1
[1] 1 4 7 2 5 8



'<-', '->', '=' operator 없이도 assign function을 가지고도 할당이 가능하다.