본문 바로가기

통계학/R

[R] 벡터에서 특정 원소 삭제하기

 

 

이 글은 문자형 벡터에서 특정 원소 모두를 삭제하는 방법을 다룬다. 아래에선 문자형 벡터 x에서 "C"를 모두 제거하는 코드다.

x <- c("A", "B", "C", "B", "C")
x <- x[! x %in% "C"]

[1] "A" "B" "B"

 

만약 제거하고자 하는 원소가 두 개 이상이라면 %in% 뒤에 제거하려는 원소들을 벡터형으로 넣어주면 된다. 그 예는 아래와 같다. 보는 것처럼 "B"와 "C"를 x에서 모두 제거하였다.

x <- c("A", "B", "C", "B", "C")
x <- x[! x %in% c("B", "C")]

[1] "A"

 

이 방법은 숫자형 벡터에서도 사용 가능하다.

x <- c(1, 2, 2, 2, 7)
x <- x[! x %in% c(1, 2)]

[1] 7

 


Codewars에 이와 관련한 문제가 있으며, 풀이를 블로그에 게시해놓았다. 링크 남긴다.

Codewars 문제 링크

문제 풀이 링크