반응형
tidyverse의 dplyr(디플라이알)에서 제공하는 filter 함수는 특정 조건을 만족하는 행만 추출하는 함수입니다.
내장데이터인 mpg를 이용해서 실습해봅시다. mpg 는 자동차 데이터입니다.
> mpg
# A tibble: 234 × 11
manufacturer model displ year cyl trans drv cty hwy fl class
<chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
3 audi a4 2 2008 4 manual(m6) f 20 31 p compact
4 audi a4 2 2008 4 auto(av) f 21 30 p compact
5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact
7 audi a4 3.1 2008 6 auto(av) f 18 27 p compact
8 audi a4 quattro 1.8 1999 4 manual(m5) 4 18 26 p compact
9 audi a4 quattro 1.8 1999 4 auto(l5) 4 16 25 p compact
10 audi a4 quattro 2 2008 4 manual(m6) 4 20 28 p compact
1. 특정 조건을 만족하는 행 추출
생산 연도가 2000 이후인 행만 추출하는 방법은 아래와 같습니다.
filter(mpg, year > 2000)
논리연산자인 and 나 or 등을 이용하여 조건을 적용하는 것도 가능합니다. 생산연도가 2000년 이후이고, 실린더 수가 5개 이상인 행만 추출해봅시다.
filter(mpg, year > 2000 & cyl >=5)
2. %in% 연산자 사용
%in% 연산자를 사용하면 filter 함수 사용이 더 편해집니다. 예를 들어 차종이 corvette, malibu, mustang 인 행만 추출하고 싶다고 한다면 아래와 같이 논리연산자를 사용해야 합니다.
filter(mpg, model=='corvette' | model=='malibu' | model=='mustang')
이런 경우 %in% 연산자를 아래와 같이 사용할 수 있습니다.
filter(mpg, model %in% c('corvette','malibu','mustang'))
반응형
'R tidyverse > 하루만에 끝내는 dplyr' 카테고리의 다른 글
[R dplyr의 이해] 7. 데이터프레임 오름차순, 내림차순 정렬하기 (arrange) (0) | 2023.02.08 |
---|---|
[R dplyr의 이해] 6. 원하는 열 추출 및 제외하기 (select) (0) | 2023.02.07 |
[R dplyr의 이해] 4. 주요 함수 한눈에 보기 (0) | 2023.02.07 |
[R dplyr의 이해] 3. 파이프 연산자 %>% (0) | 2023.01.30 |
[R dplyr의 이해] 2. tibble 자료구조 (0) | 2023.01.29 |
댓글