R 기초강의(2) - R Operator
R 강좌는 여러 절로 구성되어 있습니다.
- R 기초강의(1) - R 개요
- R 기초강의(2) - R Operator
- R 기초강의(3) - R Data Type
- R 기초강의(4) - R 패키지와 함수
- R 기초강의(5) - R 자료구조(vector)
- R 기초강의(6) - R 자료구조(matrix)
- R 기초강의(7) - R 자료구조(factor, list)
- R 기초강의(8) - R 자료구조(data frame)
- R 기초강의(9) - R 문자열 처리
- R 기초강의(10) - R 데이터 입출력
- R 기초강의(11) - R 제어문 및 함수
- R 기초강의(12) - R 기초 Exercise
- R 기초강의(13) - R Crawling
- R 기초강의(14) - R 데이터 조작
- R 기초강의(15) - R 데이터 조작 실습
- R 기초강의(16) - R 데이터 정제
- R 기초강의(17) - R 기초 통계 함수
- R 기초강의(18) - R Graph
- R 기초강의(19) - R KoNLP
- R 기초강의(20) - R 연습문제
- R 기초강의(21) - R ggmap
- R 기초강의(22) - R 정형데이터 처리
R Operator
R
의 기본 연산자에 대해서 알아보겠습니다. 다른 프로그래밍 언어와 거의 차이가 없으며
약간 형태가 다른 연산자가 존재합니다.
산술연산자에서 기억해야 할 연산자는 몫과 나머지를 구하는 연산자 입니다. 그 이외의 연산자는 다른 언어와 거의 같습니다.
실습
%/%
를 이용하여 몫을 구해보자.%%
를 이용하여 나머지를 구해보자.
var1 <- 100
var2 <- 3
result <- var1 / var2 # 기본 나누기
result # 33.33333
options(digits = 5) # 숫자를 몇 자리까지 출력할 것인가 설정( default값은 7 )
result
sprintf("%0.7f",var1 / var2) # format을 설정해서 출력
result <- var1 %/% var2 # 몫 구하기
result # 33
result <- var1 %% var2 # 나머지 구하기
result # 1
비교연산자는 다른 언어와 그 사용이 같습니다. 대신 두 값의 비교로서 맞으면 TRUE
, 맞지 않으면
FALSE
를 반환합니다.
실습
- 비교연산자를 이용한 간단한 코드를 작성해보자.
var1 <- 100
var2 <- 200
var1 == var2 # FALSE
var1 != var2 # TRUE
var1 > var2 # FALSE
var1 >= var2 # FALSE
!(var1 <= var2) # FALSE
할당연산자는 다른 언어와 약간 다른 형태를 가집니다. 기존의 할당연산자 =
를 이용할 수 도 있지만
<-
또는 ->
형태의 연산자를 이용할 수 있습니다.
주의해야 할 점은 R의 =
할당 연산자는 간혹 오류를 발생시키는 경우가 보고되고 있습니다.
할당 연산자는 가능한 <-
또는 ->
을 이용하는 것이 좋습니다.
실습
- R의 할당 연산자
<-
또는->
의 사용법을 알아보자
var1 = 100 # var1에 100 대입
var1
var2 <- 200 # var2에 200 대입
var2
300 -> var3 # var3에 300 대입
var3
논리연산자는 두 개 이상의 조건을 비교합니다. &
와 &&
는 모든 조건이 TRUE일 경우만
TRUE가 리턴되고 |
, ||
는 조건 중 하나라도 TRUE이면 TRUE가 리턴됩니다.
단, scalar가 아닌 vector 연산일 경우 &
와 &&
연산에 차이가 존재합니다.
실습
- 여러가지 경우에서 논리연산자 동작방식을 알아보자.
# 조건에 있는 값이 scalar면 &와 &&가 동일처리
TRUE & FALSE # FALSE
TRUE && FALSE # FALSE
# 조건에 있는 값이 scalar면 |와 ||가 동일처리
TRUE | FALSE # TRUE
TRUE || FALSE # TRUE
# 조건에 있는 값이 vector이면
# &는 vector의 모든 조건에 대한 연산을 수행한 후
# 결과를 vector로 return
# &&는 vector의 첫번째 조건에 대한 연산을 수행한 후
# 결과를 scalr로 return
c(TRUE,FALSE) & c(TRUE,TRUE) # TRUE FALSE
c(TRUE,FALSE) && c(TRUE,TRUE) # TRUE
c(TRUE,FALSE) & c(TRUE,TRUE,FALSE) # Error
!c(TRUE,FALSE,TRUE) # FALSE TRUE FALSE
R은 다른 언어와 유사하게 여러 수학적인 함수를 내장하고 있습니다.
End.
이 포스트의 내용은 아래의 책과 사이트를 참조했습니다. 조금 더 자세한 사항을 알고 싶으시면 책을 참조하거나 해당 사이트를 방문하세요!!