R에서 가능한 4개의 기본 연산자(계산, 할당, 논리, 비교 연산자)
R은 무료로 강력한 통계 분석을 할 수 있는 좋은 프로그래밍 도구이다.
앞으로 이 블로그를 통해 R을 쉽게 배울 수 있도록 강의 자료를 업로드할 계획이다.
R과 Rstudio 설치는 기본적으로 하셨을테니 생략하고 R의 기본 문법부터 배워보자.
1. R은 계산기 기능이 있다.
R을 실행하고 스크립트를 새로 열어서 아래 코드를 입력해보자.
(R Console창에 바로 입력을해도 실행이 되지만 스크립트 창에 입력하는것이 나중에 수정하기 편하니 강추.
또한 복사 붙이기를 해서 실행해보는 것과 직접 타이핑해서 실행하는것은 실력 향상에 있어서 엄청난 차이가 있기
때문에 반드시 후자의 방법으로 공부하길 권유한다.)
# 계산 연산자
# +, -, *, /, **, ^, %%, %/%
1+2 # 더하기
1-2 # 빼기
2*4 # 곱하기
2/4 # 나누기
2**4 # 거듭제곱
2^4 # 거듭제곱
13%%4 # 나머지
13%/%4 # 몫
R은 더하기, 빼기, 곱하기, 나누기, 거듭제곱, 나머지, 몫 등 기본적으로 계산기 기능을 가지고 있다.
엑셀이나 다른 언어와 조금 다를 수 있지만 이러한 계산 연산자들은 데이터를 정제하고 새로운 변수를 추가하는데
필수적이기 때문에 반드시 알아둘 필요가 있다.
2. R은 할당 기능이 있다.
R에서 가장 중요한 기능이자 가장 기본적인 기능은 바로 '할당' 기능이다.
아래 예제를 타이핑해서 돌려보자.
# 할당 연산자
# <-, =
# BTS라는 변수(Object)에 RM, 진, 슈가, 제이홉, 지민, 뷔, 정국이라는 단어를 할당
BTS <- c("RM", "진", "슈가", "제이홉", "지민", "뷔", "정국")
BTS
BTS = c("RM", "진", "슈가", "제이홉", "지민", "뷔", "정국")
BTS
BTS라는 변수(Object 또는 벡터 등등 다양한 이름으로 부르지만 앞으로 변수라고 표현하겠다.)에 대한민국의 자랑
BTS 멤버들의 이름을 '할당'하고 싶을때 쓰는 기능이 '<-' 또는 '=' 이다. 변수 이름(BTS)을 적고 뒤에는 할당하고자 하는 숫자, 문자, 논리값 등을 넣으면 된다. 참고로 C() 함수는 2개 이상의 문자나 숫자, 논리값(T,F)을 할당할 때 쓰는 함수이다. R에서 가장 많이 쓰는 함수 중에 하나이다.
* 할당 연산자는 <-와 =가 있지만 보통 <-를 많이 쓴다. =는 함수 안에 옵션들을 정의할 때 보통 쓴다.
3. R은 데이터를 서로 비교할 수 있다.
R은 비교 연산자를 통해 진실(T)과 거짓(F)을 구분할 수 있는 기능이 있다.
# 비교 연산자
# >, <, >=, <=, ==, !=, !
# 진실을 말하고 있다면 TRUE(T), 거짓을 말하고 있다면 FALSE(F)
1 > 2
1 >= 2
1 < 2
1 <= 2
1 == 2
1 != 2
!(1 == 2)
1 > 2 코드는 R에게 "1이 2보다 크냐?" 라고 물어보는것과 같다. 당연히 1이 2보다 크지 않으므로 R은 거짓(FALSE)라는 결과를 낼것이다. 또한 1==2는 R에게 "1이 2냐?" 라고 묻는것과 같다. 거짓.
!는 '아니다'라는 뜻으로 R에게 1 != 2는 "1이 2가 아니냐?"라는 뜻이다. 1은 2가 아니므로 진실(TRUE) 값이 출력된다.
4. R은 그리고, 또는 이라는 논리 연산자를 가지고 있다.
다른 언어와 마찬가지로 R에서도 and 조건, or 조건이라 불리우는 논리 연산자가 있다.
& : and 조건으로, 조건이 모두 진실(TRUE)이어야만 진실(TRUE) 값이 출력된다.
| : or 조건으로, 조건 중 한개만 만족해도 진실(TRUE) 값이 출력된다.
# 논리 연산자
# &(and), |(or)
(1 < 2) & (3 > 5)
(3 > 4) | (5 > 4)
첫번째 코드에서 왼쪽 1<2 비교 연산자 출력값은 진실(TRUE)이다. 그리고(&) 3>5 연산자는 거짓(FALSE)이다. 그러므로
and 조건에서는 두 조건모두 진실이어야만 진실이 출력되므로 FALSE 가 출력될 것이다.
두번째 코드는 두 조건 중 5>4 조건만 진실(TRUE)이지만 or 조건이 붙었기 때문에 진실(TRUE)이 출력된다.
R 기본 연산자 끝.
ps. 이 포스팅 덕분에 훌륭한 BTS 멤버의 이름을 외우게 되었다.