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