본문 바로가기

R/R을 이용한 데이터 처리&분석 실무

변수

반응형

데이터 타입 설명에 앞서, 값을 저장하고 추출하는 방법을 알아보기 위해 R에서 사용하는 변수에 대해서 살펴보자.

 

변수 이름 규칙

R의 변수명은 알파벳, 숫자, _(언더스코어), .(마침표)로구성되며, -(하이픈)은 사용할 수 없다.

첫 글자는 알파벳 또는, . 으로 시작해야 한다. 만약 . 으로 시작한다면 . 뒤에 숫자가 올 수 없다.

예를 들어, 다음은 모두 올바른 변수명이다.

a
b
a1
a2
.x

 

다음은 올바르지 않는 변수명이다.

2a
.2
a-b

 

한 가지 흥미로운 사실은 R 1.9.0 이전에는 변수명에 _를 사용할 수 없었다는 점이다. 이런 역사적인 이유로 다른 언어에서 흔히 _를 사용할 만한 상황에서 R은 .을 사용한다. 예를 들어, training_data, validation_data 같은 변수명 대신 data.training, data.validation과 같이 마치 객체의 속성을 접근하는 것처럼보이는 명명 방식이 종종 사용된다.

 

변숫값 할당

변수에 값을 할당할 때는 <-, <<- 또는 = 연산자를 사용한다. <-와 <<- 뒤에서 설명하겠지만 어느 스코프에 있는 변수에 값을 할당하는지에 차이가 있다. 그러나 <-와 =는 대부분의 경우에 바꿔서 사용할 수 있고, 따라서 둘 중 어느 것을 사용해야 하는지는 다소 논쟁적인 주제다. 이 책에서는 <- 연산자를 사용했는데, 그 이유 중 하나는 =는 때에 따라 사용할 수 없는 경우가 있기 때문이다.

 

Note. <-와 =의 차이

할당 연산자 중 =는 명령의 최상위 수준에서만 사용할 수 있는 반면 <-는 어느 곳에서나 사용할 수 있다. 따라서 함수 호출과 동시에 변수에 값을 할당하는 목적으로는 <-만 사용할 수 있다. 다음은 1,2,3을 저장한 벡터를 x에 할당한 후 이 값들의 평균을 구하고 x에 저장된 값을 출력한 예다.

 

>mean(x<-c(1,2,3))

[1] 2

>x

[1] 1 2 3

 

같은 상황에서 =를 사용하면 x에 값이 저장되지 않는다.

 

>mean(x=c(1,2,3)

[1] 2

>x

Error: object 'x' not found

>

 

이 차이 때문에 =를 사용하면 경우에 따라 표현력에 한계가 있을 수 있다.

 

 

R을 이용한 데이터 처리&분석 실무 中

반응형

'R > R을 이용한 데이터 처리&분석 실무' 카테고리의 다른 글

타입 판별, 타입변환  (0) 2020.01.29
데이터 프레임  (0) 2020.01.29
리스트  (0) 2020.01.28
벡터  (0) 2020.01.28
스칼라  (0) 2020.01.27