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에서 다른 일반적인 기능을 수행하는 방법을 설명합니다.