1. 논리 연산자 (TRUE, FALSE)
# 논리 값 (logic)
T
TRUE
F
FALSE
참 -> TRUE (줄여서 T로도 쓸 수 있다.)
거짓 -> FALSE (줄여서 F로도 쓸 수 있다.)
# as.numeric의 의미는 ( ) 괄호 안의 값을 숫자로 바꿔라라는 의미이다.
as.numeric(T)
[1] 1
as.numeric(F)
[1] 0
TRUE는 숫자로 표현하면 1, FALSE는 0임
TRUE*TRUE
[1] 1
T*F
[1] 0
F*F
[1] 0
- TRUE*TRUE는 1*1이므로 결과값은 1
- TRUE*FALSE는 1*0이므로 결과값은 0
- FALSE*FALSE는 0*0이므로 결과값은 0
2. 미만( >), 등가( ==), 비등가(!=)
1 > 2
[1] FALSE
1 == 5/5
[1] TRUE
3 != 6/2
[1] FALSE
!T == F
[1] TRUE
3 != 6/2
6/2 =3 이므로 참값(TRUE)가 출력되게 하려면 3 == 6/2로 바꿔야한다.
!T ==F
!T는 TRUE의 반대이므로 FALSE이다. 따라서 TRUE가 출력이 된다.
3. T와 F에 값 대입
T <- 5; F <- 7 # 에러가 발생하지는 않지만, 되도록이면 이러한 표현은 삼가한다.
rm(T, F)
값을 대입을 할 수는 있다. 하지만 코드를 작성하다가 논리연산자를 쓸 때, 원하지 않는 값이 출력될 수 있다.
3. AND연산자(&&), OR연산자(||)
TRUE && TRUE # &&는 AND 연산자라고 부름
[1] TRUE
(1 < 2) && (1 < 3)
[1] TRUE
TRUE && FALSE
[1] FALSE
(1 < 2) && (1 > 3)
[1] FALSE
FALSE && FALSE
[1] FALSE
(1 > 2) && (1 > 3)
[1] FALSE
TRUE || TRUE # ||는 OR 연산자라고 부름
[1] TRUE
(1 < 2) || (1 < 3)
[1] TRUE
TRUE && FALSE
[1] FALSE
(1 < 2) || (1 > 3)
[1] TRUE
FALSE || FALSE
[1] FALSE
- AND연산자(&&)는 둘 다 참이면 T, 둘 중에 하나라도 거짓이면 F가 출력이 된다.
- OR연산자(||)는 둘 중 하나라도 참이면 T이다.
- 괄호( ) 안에 있는 값을 먼저 계산(참,거짓을 판별한 값)을 하고 결과값 출력
4. AND연산자, OR연산자 순서
TRUE && FALSE || FALSE ## 왼쪽에서 오른쪽으로 실행됨
[1] FALSE
TRUE || FALSE && FALSE # &&가 || 보다 우선권을 가짐!!
[1] TRUE
(TRUE || FALSE) && FALSE # 괄호를 먼저 계산함!!
[1] FALSE
((1 < 2) || (1 > 3)) && is.na(english)
[1] TRUE
TRUE && TRUE || FALSE && FALSE
[1] TRUE
TRUE && (TRUE || FALSE) && FALSE
[1] FALSE
- AND연산자가 먼저 계산된 후, OR연산자가 계산이 된다.
5. 느낀점
- 논리연산자를 자주 쓰지 않을 것 같았지만 많이 쓰인다.
( 어떤 값을 만족했을 때만 코드를 실행, 값이 거짓이면 원하는 값으로 변경 등)
- AND연산자 OR연산자 순서 알아두기
'언어 > R' 카테고리의 다른 글
[R] 인공신경망(이차방정식 해 예측하기) (0) | 2023.07.31 |
---|