9. R 문법 2 - 문자형, boolean형 과 논리연산자

R 2015. 11. 12. 12:42 by 후뤼한잉여

9. R 문법 2 - 문자형, boolean형 과 논리연산자

1) 개요

R의 문법 중 기초인 문자형과 진리값을 표현하는 boolean형과 논리연산자에 대해 공부하겠습니다.

2) 문자형

R에서는 다른 프로그래밍 언어와 다르게 문자형과 문자열을 구분하지 않습니다.
JAVA의 String 처럼 전부 문자열로 인식을 합니다.
사용은 문자열을 작은 따옴표(')나 큰 따옴표(")로 감싸서 사용합니다.

예)
print('a')
print("a")
  • 문자형으로 입력된 숫자를 숫자형으로 변환하기
    as.numeric(문자형숫자)
    
    예)
    as.numeric('32')
    
  • 데이터형 검사하기
    다른 데이터형에도 공통으로 데이터형이 무엇인지 검사할 때 사용됩니다. 문자형이 제대로 숫자형으로 변환된건지 확인을 위해 여기서 언급을 하겠습니다.
    class(데이터)
    
    예)
    > class('1')
    [1] "character"
    
    예)
    > class(as.numeric('1'))
    [1] "numeric"
    

3) boolean형 과 논리연산자

boolean형은 진리값이라고 하며 논리연산의 결과로 사용됩니다.

3-1. boolean형
우선 컴퓨터는 0과 1의 비트만을 이용하여 계산을 하는데 0은 거짓이라고 인식하면 0이외의 값은 참이라고 인식을 한다.
R에서는 참과 거짓을 TRUE, FLASE로 표기하는데 반드시 대문자로 사용해야 한다.
R은 대소문자를 구분하기 때문에 TRUE와 true는 다른 것으로 인식한다.

진리값 설명
TRUE
FLASE 거짓

3-2. 논리연산자
참과 거짓의 값을 이용하여 연산하는 연산자이다.

논리연산자 기호 설명
NOT ! 참은 거짓, 거짓은 참으로 반전 시켜줌
AND & 양쪽 모두 참이여야 참
AND &&
OR 양쪽 중 하나만 참이여도 참
OR ││
XOR xor(A,B) 함수로 제공
A나 B 서로 다를 때만 참
  1. NOT(!) 연산자
    A의 진리값을 반전시킨다.
    !A
    
    예)
    > !0
    [1] TRUE
    
    0은 FALSE이지만 NOT 연산을 통해 반전 시켜줌으로써 TRUE가 되었다.
    예)
    > !4
    [1] FALSE
    
    4는 0 이외의 숫자이므로 TRUE이지만 NOT 연산을 통해 반전 시켜줌으로써 FALSE가 되었다.
  2. AND(&,&&) 연산자
    A와 B 모두 참일 경우에만 참을 출력한다.

    A & B
    A && B
    
    예)
    > 5 & 5
    [1] TRUE
    

    A와 B 모두 참이므로 참

    예)
    > 5 & 0
    [1] FALSE
    

    B가 거짓이므로 거짓

    • & 연산자와 &&연산자의 차이
      &연산자는 각 요소별로 연산자를 수행하지만 &&연산자는 처음 요소만 연산을 수행한다.
      &연산 할 때는 A와 B 요소의 갯수가 같아야만 하지만, &&연산은 갯수가 달라도 처음 요소만 연산하기 때문에 관계 없다.
      예)
      > c(TRUE, TRUE, FALSE) & c(FALSE, TRUE, FALSE)
      [1] FALSE TRUE FALSE
      
      1번째 요소인 TRUE와 TRUE를 비교, 2번째 요소인 TRUE와 TRUE를 비교, 3번째 요소인 FALSE와 FALSE를 비교한 결과 값이 출력 된다.
      예)
      > c(TRUE, TRUE, FALSE) && c(FALSE, TRUE)
      [1] FALSE
      
      1번째 요소인 TRUE와 TRUE만 비교한 결과가 출력된다.
  3. OR(|,||) 연산자
    A나 B중 하나가 참이면 참을 출력하며 A와 B 모두 거짓일 때만 거짓을 출력한다.

    A | B
    A || B
    
    예)
    > 5 | 0
    [1] TRUE
    

    A가 참이므로 참

    예)
    > 0 & 0
    [1] FALSE
    

    A와 B가 모두 거짓이므로 거짓

    • | 연산자와 ||연산자의 차이
      위에서 설명한 AND(&,&&)연산자에 설명한 내용과 동일하다.
      예)
      > c(TRUE, TRUE, FALSE) | c(FALSE, TRUE, FALSE)
      [1] TRUE TRUE FALSE
      
      예)
      > c(TRUE, TRUE, FALSE) || c(FALSE, TRUE)
      [1] TRUE
      
  4. XOR 함수
    XOR은 A와 B가 서로 다를 때만 참이다.
    XOR의 경우 기본 논리 연산자가 아닌 조합된 논리 연사자 이므로 함수로써 제공이 된다. 다른 언어에서는 연산자로 제공하는 경우가 있어 여기에서 설명을 했다.
    xor(A,B)
    
    예)
    > xor(5,0)
    [1] TRUE
    
    예)
    > xor(5,5)
    [1] FALSE
    

'R' 카테고리의 다른 글

R에 현재 로딩된 패키지, 로케일 등 정보 보기  (0) 2016.03.11
R Locale 설정하기  (0) 2016.03.11
8. R 문법 1 - 산술연산  (0) 2015.11.12
7. 지수 표기법  (0) 2015.11.12
6. 간단한 출력 맛 보기  (0) 2015.11.12
Nav