티스토리 뷰

반응형

진리값의 연산자

 

 진리값의 연산자는 처음에 잡아두지 않으면 나중에 헷갈리기때문에 중요합니다!


논리 연산자 사용법 

and 연산 : & , &&
 or  연산 : | , ||


 1) 하나의 연산자( &, | ) 는 요소가 많을 경우(Vector), 요소 간의 논리연산을 수행(요소끼리 비교하고 싶을 때 사용)합니다.

 

# 요소별 and 논리연산 수행(두 요소 모두 True 를 만족해야 True)
c(TRUE, FALSE) & c(TRUE, TRUE)  # [1]  TRUE FALSE

  * 왼쪽 벡터의 첫 번째 요소 TRUE 와 오른쪽 벡터의 첫 번째 요소 TRUE의 &(and) 결과 = TRUE

  * 왼쪽 벡터의 두 번째 요소 FALSE 와 오른쪽 벡터의 두 번째 요소 TRUE의 &(and) 결과 = FALSE

 

# 요소별 or 논리연산 수행(하나의 요소만 True 를 만족하면 True)
c(TRUE, FALSE) | c(TRUE, TRUE)  # [1] TRUE TRUE

  * 왼쪽 벡터의 첫 번째 요소 TRUE 와 오른쪽 벡터의 첫 번째 요소 TRUE의 |(or) 결과 = TRUE

  * 왼쪽 벡터의 두 번째 요소 FALSE 와 오른쪽 벡터의 두 번째 요소 TRUE의 |(or) 결과 = TRUE

 

 

 

 

2) 두 개의 연산자( &&, || ) 는 단 하나의 논리값(맨 앞)의 논리 연산을 수행합니다.

   * 요소가 하나일 때는 상관없지만, 요소가 두 개 이상일 경우, 요소끼리 비교하고 싶다면 사용 X !

 

# 그룹 별 and 논리연산 수행 (단 하나의 논리값(맨 앞)의 and 논리연산 수행)

c(TRUE, FALSE) && c(TRUE, TRUE)  # [1] TRUE

 

#그룹 별 or 논리연산 수행 (단 하나의 논리값(맨 앞)의 or 논리연산 수행)

c(TRUE, FALSE) || c(TRUE, TRUE)  # [1] TRUE

 

---------------------------------------------------------------------------------------------

 

a <- 3

b <- -3


(a>0) & (b>0) # 둘 다 만족하지 않으므로 False

   T          F
(a>0) | (b>0) # 하나가 만족하므로 True

   T        F
(a>0) && (b>0) # 요소가 하나이므로 위의 결과와 동일

   T          F
(a>0) || (b>0) # 요소가 하나이므로 위의 결과와 동일
   T        F

 

=> 하나의 요소를 가진 변수의 논리 연산은 && 나 & 모두 가능하지만,

    요소가 많은 변수의 경우 잘 판단하여 사용해야하겠죠?!

 

 

 

 

참고: KIC 캠퍼스 머신러닝기반의 빅데이터분석 양성

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday