R
R MANUALS : ② 숫자와 벡터 → 2.4 논리형 벡터
urbanlr
2021. 12. 21. 23:26
SMALL
본 글은 https://cran.r-project.org/doc/manuals/r-release/R-intro.html내용을 기반으로 작성되었습니다.
Copyright © 1999–2021 R Core Team
- 숫자형 벡터와 같이 논리형 벡터도 생성 가능함
- 논리형 벡터에는 TRUE, FALSE, NA(Not Abailable)가 있음
- TRUE는 T로 FALSE는 F로 줄여쓸 수 있음
> x <- c(TRUE, FALSE, TRUE, TRUE, NA)
> x
[1] TRUE FALSE TRUE TRUE NA
> y <- c(T,F,T,T,NA)
> y
[1] TRUE FALSE TRUE TRUE NA
- 위와 같이 TRUE, FALSE, NA를 직접 입력할 수도 있지만
- 어떠한 조건에 맞는지 틀리는지에 따라 자동적으로 논리형 벡터를 형성할 수 있음
- 아래 첫번째 경우처럼 벡터 내 각 위치에 조건을 삽입할 수도 있고,
- 아래 두번째 경우처럼 벡터를 대상으로 각 값에 대해 조건을 만족하는지 여부를 따져서 논리형 벡터를 형성할 수 있음
z <- c(1<0, 1==1, 1>=1, 1<=0)
z
[1] FALSE TRUE TRUE FALSE
> y <- c(1,2,3,4,5)
> z <- y>=3
> z
[1] FALSE FALSE TRUE TRUE TRUE
- 조건을 형성하는 기호에는 크다(>), 크거나 같다(>=), 작다(<), 작거나 같다(<=), 같다(==), 다르다(!=) 등을 쓸 수 있음
- 추가적으로 and라는 논리는 &라는 기호로, or라는 논리는 |라는 기호로 나타낼 수 있음
> x <- c(1<2, 1<=2, 1>2, 1>=2, 1==2, 1!=2, 1<2&1>2, 1<2|1>2)
> x
[1] TRUE TRUE FALSE FALSE FALSE TRUE FALSE TRUE
- 논리형 벡터도 숫자형 벡터처럼 연산이 가능함
- 연산을 할 때에는 FALSE는 0, TRUE는 1로 간주됨
- 논리형 벡터 내에 TRUE가 몇개 있는지 확인할때 쓰면 좋음
> TRUE+TRUE+FALSE+TRUE
[1] 3
> TRUE-TRUE-FALSE-TRUE
[1] -1
> x <- c(1<2, 1<=2, 1>2, 1>=2, 1==2, 1!=2, 1<2&1>2, 1<2|1>2)
> sum(x)
[1] 4
LIST