본문 바로가기
R tidyverse/하루만에 끝내는 dplyr

[R dplyr의 이해] 8. 유니크한 값만 추출하기 (distinct)

by 만다린망고 2023. 2. 8.
반응형

distinct 함수를 이용하면 데이터프레임에서 선택한 열의 유니크한 값을 추출할 수 있습니다. 

 

1. 하나의 열에서 유니크한 값 추출하기

mpg 데이터의 manuracturer 열의 유니트한 값들을 출력해봅시다. 

mpg %>% distinct(manufacturer)

 

> mpg %>% distinct(manufacturer)
# A tibble: 15 × 1
   manufacturer
   <chr>       
 1 audi        
 2 chevrolet   
 3 dodge       
 4 ford        
 5 honda       
 6 hyundai     
 7 jeep        
 8 land rover  
 9 lincoln     
10 mercury     
11 nissan      
12 pontiac     
13 subaru      
14 toyota      
15 volkswagen

 

2. 여러 열에서 유니크한 값 출력하기

cyl 열을 기준으로 내림차순 정렬한 뒤, 그 안에서 mpg 를 기준으로 오름차순 정렬하는 방법은 아래와 같습니다. 

mtcars %>% arrange(desc(cyl),mpg)

 

> mpg %>% distinct(manufacturer,year)
# A tibble: 30 × 2
   manufacturer  year
   <chr>        <int>
 1 audi          1999
 2 audi          2008
 3 chevrolet     2008
 4 chevrolet     1999
 5 dodge         1999
 6 dodge         2008
 7 ford          1999
 8 ford          2008
 9 honda         1999
10 honda         2008
# … with 20 more rows
# ℹ Use `print(n = ...)` to see more rows


각 열만 보면 유니크하지 않다고 생각할 수도 있는데, 행을 기준으로 봐야 합니다. audi,1999 인 행과 audi,2008 인 행은 서로 다릅니다. 출력 결과에서 각각의 행들은 유니크합니다. 

반응형

댓글