R에서 중복된 줄을 제거하여 남은 줄이 없도록 하는 방법


R에서 다음 방법을 사용하여 데이터 프레임에서 중복 행을 제거하여 결과 데이터 프레임에 아무 것도 남지 않도록 할 수 있습니다.

방법 1: 기본 R 사용

 new_df <- df[ ! (duplicated(df) | duplicated(df, fromLast= TRUE )), ]

방법 2: dplyr 사용

 library (dplyr)

new_df <- df %>%
          group_by(across(everything())) %>%
          filter(n() == 1 )

다음 예에서는 다음 데이터 프레임을 사용하여 실제로 각 메서드를 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(20, 20, 28, 14, 13, 18, 27, 13))

#view data frame
df

  team points
1 to 20
2 to 20
3 to 28
4 to 14
5 B 13
6 B 18
7 B 27
8 B 13

예시 1: 기본 R 사용

다음 코드는 R 기본 함수를 사용하여 아무 것도 남지 않도록 데이터 프레임에서 중복 행을 제거하는 방법을 보여줍니다.

 #create new data frame that removes duplicates so none are left
new_df <- df[ ! (duplicated(df) | duplicated(df, fromLast= TRUE )), ]

#view new data frame
new_df

  team points
3 to 28
4 to 14
6 B 18
7 B 27

각 중복 행은 데이터 프레임에서 제거되었으며 중복 항목은 전혀 유지되지 않습니다.

예시 2: dplyr 사용

다음 코드는 R의 dplyr 패키지에 있는 함수를 사용하여 아무것도 남지 않도록 데이터 프레임에서 중복 행을 제거하는 방법을 보여줍니다.

 library (dplyr)

#create new data frame that removes duplicates so none are left
new_df <- df %>%
          group_by(across(everything())) %>%
          filter(n() == 1 )

#view new data frame
new_df

# A tibble: 4 x 2
# Groups: team, points [4]
  team points
    
1 to 28
2 to 14
3 B 18
4 B 27

각 중복 행은 데이터 프레임에서 제거되었으며 중복 항목은 전혀 유지되지 않습니다.

또한 이 방법은 이전 방법과 동일한 결과를 생성합니다.

참고 : 매우 큰 데이터 프레임의 경우 dplyr 방법은 기본 R 방법보다 빠릅니다.

추가 리소스

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

조건에 따라 R에서 행을 삭제하는 방법
R의 특정 열에서 NA가 있는 행을 삭제하는 방법

의견을 추가하다

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