Dplyr을 사용하여 중복 요소를 찾는 방법


dplyr을 사용하여 데이터 프레임에서 중복 요소를 찾으려면 다음 방법을 사용할 수 있습니다.

방법 1: 모든 중복 행 표시

 library (dplyr)

#display all duplicate rows
df %>%
  group_by_all() %>%
  filter(n()> 1 ) %>%
  A group()

방법 2: 모든 중복 행에 대한 중복 수 표시

 library (dplyr)

#display duplicate count for all duplicated rows
df %>%
  add_count(col1, col2, col3) %>%
  filter(n> 1 ) %>%
  distinct()

이 튜토리얼에서는 다음 데이터 프레임을 사용하여 실제로 각 방법을 사용하는 방법을 설명합니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 10, 8, 14, 15, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17

예 1: 모든 중복 행 표시

다음 코드는 데이터 프레임의 모든 중복 행을 표시하는 방법을 보여줍니다.

 library (dplyr)

#display all duplicate rows in data frame
df %>%
  group_by_all() %>%
  filter(n()> 1 ) %>%
  A group()

# A tibble: 6 x 3
  team position points
        
1 AG 10
2 AG 10
3 BG 15
4 BG 15
5 BF 17
6 BF 17

결과는 6개의 행을 포함하는 데이터 프레임이며, 각 행은 중복 행입니다.

참고 : 특정 열에 중복 값이 있는 행만 알고 싶다면 group_by(team) 과 같은 것을 사용하여 열에서만 중복 값이 있는 행을 찾을 수 있습니다.

예 2: 모든 중복 행에 대한 중복 수 표시

다음 코드는 데이터 프레임의 모든 중복 행에 대한 중복 개수를 표시하는 방법을 보여줍니다.

 library (dplyr)

#display duplicate count for each row
df %>%
  add_count(team, position, points) %>%
  filter(n> 1 ) %>%
  distinct()

  team position points n
1 GA 10 2
2 BG 15 2
3 BF 17 2

n 열에는 각 행의 총 중복 수가 표시됩니다.

예를 들어:

  • A, G, 10 값이 있는 줄이 데이터 블록에 2 번 나타납니다.
  • B, G 및 15 값이 있는 줄은 데이터 블록에 2 번 나타납니다.
  • B, F, 17 값이 있는 줄은 데이터 블록에 2 번 나타납니다.

참고 : 특정 열에 중복된 값이 있는 행만 알고 싶다면 add_count() 함수에 해당 특정 열만 포함시키세요.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

dplyr을 사용하여 고유 값을 필터링하는 방법
dplyr을 사용하여 여러 조건으로 필터링하는 방법
R의 열에서 발생 횟수를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다