연산자
연산자는 데이터에 대한 연산을 수행하는 데 사용되는 기호나 함수이다.
연산자와 피연산자로 구성된 수식은 항상 계산된 값을 반환하며, 이 반환값을 연산자가 계산한다.
여러 연산자가 포함된 수식에서는 어떤 연산자를 먼저 적용하느냐에 따라 결과값이 달라질 수 있으므로, 연산자들의 우선순위가 매우 중요하다. 이는 수학에서 사칙연산을 할 때 곱셈과 나눗셈을 덧셈과 뺄셈보다 먼저 계산하는 규칙과 유사하다.
R 은 다른 언어에 비해 기초 연산자 숫자가 상대적으로 적고, 기본적인 산술, 비교, 논리, 할당 연산자가 주 이므로 크게 암기를 요하지 않는다. 그러나 벡터와 행렬 연산, 그 외 자료구조에 접근하고 다루는 라이브러리들이 존재하고, 이 라이브러리들의 연산자들은 굉장히 다양하므로 기본적인 연산자에 대한 지식은 중요하다.
연산자 우선순위
연산자 | 연산 유형 |
:: ::: |
네임스페이스에서 변수 접근 |
$ @ |
요소 추출 슬롯 추출 |
[ [[ |
인덱싱 |
^ | 거듭제곱 |
+ - |
양수 단항 음수 단항 |
: | 시퀀스 연산자 |
%any% | 특수 연산자 (%% %/% 포함) |
* / |
곱하기 나누기 |
+ - |
더하기 빼기 |
< > <= >= == != |
비교 |
! | 논리 NOT |
& && |
논리 AND 논리 AND (첫 번째 원소만 비교) |
| || |
논리 OR 논리 OR (첫 번째 원소만 비교) |
~ | 공식에서 사용 |
-> ->> |
오른쪽으로 대입 (지역) 오른쪽으로 대입 (전역) |
<- <<- |
왼쪽으로 대입 (지역) 왼쪽으로 대입 (전역) |
= | 왼쪽으로 대입 (지역) |
표현식 내에서 동일한 우선순위를 가지는 연산자들은 좌에서 우로 평가된다. 단, 명시된 경우는 예외이며, =은 반드시 연산자가 아닐 수도 있다. 이항 연산자인 ::, :::, $ 및 @는 오른쪽에 이름 또는 문자열 상수가 필요하며, :: 및 :::는 왼쪽에도 이름 또는 문자열 상수가 필요하다.
R 콘솔에 ?Syntax 를 입력하면 위 연산자 우선순위 도움말이 나오니 참고하면 좋다.
'Language > R' 카테고리의 다른 글
[R] 단일변수 탐색적 자료 분석(EDA) (0) | 2024.10.28 |
---|---|
[R] which 를 이용한 데이터 위치 확인 (0) | 2024.10.27 |
[R] for 와 while 을 통한 반복문 및 apply (0) | 2024.10.27 |
[R] 데이터 파일과 사용자 정의 함수 및 변수 불러오기 (0) | 2024.10.14 |
[R] 다양한 자료형(data type)과 인덱싱(indexing) (0) | 2024.10.14 |