/ R

R 기초강의(2) - R Operator

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은 다른 언어와 유사하게 여러 수학적인 함수를 내장하고 있습니다. R functions

End.


이 포스트의 내용은 아래의 책과 사이트를 참조했습니다. 조금 더 자세한 사항을 알고 싶으시면 책을 참조하거나 해당 사이트를 방문하세요!!