티스토리 뷰
진리값의 연산자
진리값의 연산자는 처음에 잡아두지 않으면 나중에 헷갈리기때문에 중요합니다!
논리 연산자 사용법
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 캠퍼스 머신러닝기반의 빅데이터분석 양성
'R > Process' 카테고리의 다른 글
[R] 리스트(list) (0) | 2018.12.26 |
---|---|
[R] 날짜와 시간 - as.Date, lubridate (0) | 2018.12.24 |
[R] 팩터 (factor) (5) | 2018.12.24 |
[R] 벡터(vector) (0) | 2018.12.24 |
[R] 변수 - 변수 생성, 데이터 할당, 데이터 타입, 함수, 변수 확인, 삭제 (0) | 2018.12.24 |